Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Фирсов.docx
Скачиваний:
1
Добавлен:
01.05.2025
Размер:
1.95 Mб
Скачать

2.4.1. Сохранность и синхронность

Во взаимодействиях

Чтобы разобраться во множестве альтернатив в коммуникационных системах,

работающих на основе сообщений, предположим, что система организована по

принципу компьютерной сети, как показано на рис. 2.19. Приложения всегда выполняются

на хостах, а каждый хост предоставляет интерфейс с коммуникационной

системой, через который сообщения могут передаваться. Хосты соединены

сетью коммуникационных серверов, которые отвечают за передачу (или маршрутизацию)

сообщения между хостами. Без потери общности можно предположить,

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

В главе 1 мы предполагали, что буферы могут быть размещены исключительно на

хостах. Для более общего варианта нам следует рассмотреть варианты с размеп^е-

нием буферов и на коммуникационных серверах базовой сети.

В качестве примера рассмотрим разработанную в подобном стиле систему

электронной почты. Хосты работают как пользовательские агенты — это пользовательские

приложения, которые могут создавать, посылать, принимать и читать

сообщения. Каждый хост соединяется только с одним почтовым сервером, кото-

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

рый является по отношению к нему коммуникационным сервером. Интерфейс

пользовательского хоста разрешает пользовательскому агенту посылать сообщения

по конкретным адресам. Когда пользовательский агент представляет сообщение

для передачи на хост, хост обычно пересылает это сообщение на свой локальный

почтовый сервер, в выходном буфере которого оно хранится до поры до

времени.

Почтовый сервер удаляет сообщение из своего выходного буфера и ищет, куда

его нужно доставить. Поиски места назначения приводят к получению адреса

(транспортного уровня) почтового сервера, для которого предназначено сообщение.

Затем почтовый сервер устанавливает соединение и передает сообщение на

другой, выбранный почтовый сервер. Последний сохраняет сообщение во входящем

буфере намеченного получателя, также называемом почтовым ящиком получателя.

Если искомый почтовый ящик временно недоступен, например, отключен,

то хранить сообщение продолжает локальный почтовый сервер.

Интерфейс принимающего хоста предоставляет пользовательским агентам

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

почты. Пользовательский агент может работать напрямую с почтовым ящиком

пользователя на локальном почтовом сервере или копировать новые сообщения

в локальный буфер своего хоста. Таким образом, сообщения обычно

хранятся на коммуникационных серверах, но иногда и на принимающем хосте.

Система электронной почты — это типичный пример сохранной связи (persistent

communication). При сохранной связи сообщение, предназначенное для отсылки,

хранится в коммуникационной системе до тех пор, пока его не удастся

передать получателю. Если отталкиваться от рисунка, можно сказать, сообщение

сохраняется на коммуникационном сервере до тех пор, пока его не удастся передать

на следующий коммуникационный сервер. Поэтому у отправляющего сообщение

приложения нет необходимости после отправки сообщения продолжать