Распределенный объект

редактировать
Изображение описывает связь между распределенными объектами, находящимися на разных машинах.

В распределенных вычислениях, распределенные объекты - это объекты (в смысле объектно-ориентированного программирования ), которые распределены по разным адресным пространствам либо в разных процессах на одном и том же компьютер или даже несколько компьютеров, подключенных через сеть, но которые работают вместе, обмениваясь данными и вызывая методы. Это часто связано с прозрачностью местоположения, когда удаленные объекты выглядят так же, как локальные. Основным методом связи с распределенными объектами является вызов удаленного метода, обычно посредством передачи сообщений: один объект отправляет сообщение другому объекту на удаленной машине или процессу для выполнения некоторой задачи. Результаты отправляются обратно вызывающему объекту.

Распределенные объекты были популярны в конце 1990-х - начале 2000-х годов, но с тех пор потеряли популярность.

Термин также может обычно относиться к одному из расширений базового объекта концепция, используемая в контексте распределенных вычислений, таких как реплицированные объекты или живые распределенные объекты.

  • Реплицированные объекты - это группы программных компонентов (реплик), которые запускают распределенный многосторонний протокол для достижения высокой степени согласованности между их внутренними состояниями и которые координированно отвечают на запросы. Обращение к группе реплик вместе как к объекту отражает тот факт, что взаимодействие с любым из них демонстрирует одно и то же внешне видимое состояние и поведение.
  • Живые распределенные объекты (или просто живые объекты ) обобщают концепция реплицированного объекта для групп реплик, которые могут внутренне использовать любой распределенный протокол, что может привести только к слабой согласованности между их локальными состояниями. Активные распределенные объекты также могут быть определены как запущенные экземпляры распределенных многосторонних протоколов, рассматриваемые с объектно-ориентированной точки зрения как объекты, которые имеют различную идентичность и могут инкапсулировать распределенное состояние и поведение.

См. Также Интернет-протокол suite.

Содержание

  • 1 Локальные и распределенные объекты
  • 2 Примеры
  • 3 См. также
  • 4 Ссылки

Локальные и распределенные объекты

Локальные и распределенные объекты отличаются во многом. Вот некоторые из них:

  1. Жизненный цикл: Создание, миграция и удаление распределенных объектов отличается от локальных объектов
  2. Ссылка: Удаленные ссылки на распределенные объекты более сложны, чем простые указатели на адреса памяти
  3. Задержка запроса: запрос распределенного объекта на несколько порядков медленнее, чем вызов локального метода
  4. Активация объекта: распределенные объекты не всегда могут быть доступны для обслуживания запроса объекта в любой момент времени
  5. Параллелизм: распределенные объекты могут выполняться параллельно.
  6. Связь: для запросов распределенных объектов доступны разные примитивы связи.
  7. Отказ: Распределенные объекты имеют гораздо больше точек отказа, чем типичные локальные объекты.
  8. Безопасность: распространение делает их уязвимыми для атак.

Примеры

Возможности RPC межплатформенного протокола сериализации равносильны протоколу распределенных объектов. Вызовы методов распределенных объектов могут выполняться (в цепочке, в одном сетевом запросе, если необходимо) через ссылки на интерфейсы / возможности.

Распределенные объекты реализованы в Objective-C с использованием Какао API с классом NSConnection и вспомогательными объектами.

Распределенные объекты используются в Java RMI.

CORBA позволяет создавать распределенные смешанные объектные системы.

DCOM - это платформа для распределенных объектов на платформе Microsoft.

DDObjects - это среда для распределенных объектов с использованием Borland Delphi.

Jt - это структура для распределенных компонентов, использующая парадигму обмена сообщениями.

JavaSpaces - это спецификация Sun для распределенной разделяемой памяти (на основе пространства)

- это структура для распределенных объектов, использующих язык программирования Python.

Распределенный Ruby ( DRb) - это структура для распределенных объектов с использованием языка программирования Ruby.

См. Также

Ссылки

Последняя правка сделана 2021-05-17 09:16:15
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте