Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Т2. Связь_Таненбаум_СРС_ПРИС.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
1.59 Mб
Скачать

130 Глава 2. Связь

В корне отличный подход применен в системах передачи сообщений, исполь­зующих как отправную точку нерезидентную асинхронную связь и в качестве дополнительной возможности содержащих средства синхронной связи. Однако во всех вариантах передачи сообщений взаимодействия также предполагаются прозрачными. Другими словами, задействуются только те средства связи, кото-

2.4. Связь посредством сообщений 131

р ые подходят для синхронных процессов. Ограничиваться исключительно эти­ми средствами во многих случаях нереально, особенно если принять во внима­ние географическую масштабируемость.

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

Другим недостатком нерезидентной связи можно считать тот факт, что в случае возникновения ошибки необходимо немедленно замаскировать ее и запустить процедуру восстановления. Невозможность отложить восстановление в данном случае означает нарушение прозрачности по отказам. В случае же сохранной свя­зи приложение разрабатывается в расчете на длительные задержки между по­сылкой сообщения и получением ответа на него. Соответственно, мы можем при­бегнуть к несложным, хотя возможно и медленным способам маскировки ошибок и восстановления.

Должно быть понятно, что выбор исключительно между нерезидентным и со­хранным типами связи во многих случаях неприемлем. Аналогично, только син­хронный и асинхронный типы связи — это еще не все. В зависимости от задач распределенной системы ей могут потребоваться все возможные типы связи. Ра­нее мы говорили в основном о нерезидентной синхронной связи — RPC и RMI. Другие формы взаимодействия, как правило, представлены системами, работаю­щими на основе передачи сообщений. Эти системы мы обсудим в следующих пунктах. Мы проясним разницу между нерезидентной и сохранной связью.

2.4.2. Нерезидентная связь на основе сообщений

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

Сокеты Беркли

Для стандартизации интерфейса транспортного уровня предпринимались специ­альные усилия. Это делалось для того, чтобы позволить программистам исполь­зовать полный комплект протоколов обмена сообщениями как простой набор примитивов. Кроме того, стандартные интерфейсы упрощают перенос приложе­ний на другие машины.

В качестве примера мы кратко рассмотрим интерфейс сокетов, введенный в версии UNIX, разработанной в университете Беркли (Berkeley UNIX). Другой