Главная » Просмотр файлов » Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы)

Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы) (1162619), страница 35

Файл №1162619 Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы) (Э. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы)) 35 страницаЭ. Таненбаум, М. ван Стеен - Распределённые системы (принципы и парадигмы) (1162619) страница 352019-09-20СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 35)

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

Это, в зависи­мости от состояния отправителя и получателя, дает нам четыре комбинации, по­казанные на рис. 2.23.2.4. Связь посредством сообщенийОтправительактивенОтправительактивенОтправительпассивенОтправительпассивенПолучательактивенПолучательпассивенПолучательпассивен137IПолучательактивенРис. 2.23. Четыре комбинации слабосвязанных взаимодействийс использованием очередейНа рис. 2.23, а как отправитель, так и получатель в ходе всего процесса пере­дачи сообщения находятся в активном состоянии.

На рис. 2.23, б активен толькоотправитель, в то время как получатель отключен, то есть находится в состоя­нии, исключающем возможность доставки сообщения. Тем не менее отправительвсе же в состоянии отправлять сообщения. Комбинация из активного получате­ля и пассивного отправителя приведена на рис. 2.23, в. В этом случае получательможет прочитать сообщения, которые были посланы ему ранее, наличия рабо­тающих отправителей этих сообщегпп! при этом совершенно не требуется.

И нако­нец, на рис. 2.23, г мы наблюдаем такую ситуацию, когда система сохраняет и, воз­можно, передает сообщения, даже при неработающих отправителе и получателе.Сообщения в принципе могут содержать любые данные. Единственно важ­ный момент — они должны быть правильно адресованы.

На практике адресацияосуществляется путем предоставления уникального в пределах системы имениочереди, в которую направляется письмо. В некоторых случаях размер сообще­ний может быть ограничен, несмотря на то, что, возможно, базовая система в со­стоянии разбивать большие сообщения на части и собирать их обратно в единоецелое абсолютно прозрачно для приложений. Эффект подобного подхода —ВТОМ, что базовый интерфейс, предоставляемый приложениям, в результатеможно сделать потрясающе простым. Это иллюстрирует табл. 2.3.Таблица 2 .

3 . Базовый интерфейс очереди в системе очередей сообщенийПримитивНазначениеPutДобавить сообщение в соответствующую очередьGetПриостановить работу до тех пор, пока в соответствующей очередине появятся сообщения, затем извлечь первое сообщениепродолжение^138Глава 2. СвязьТаблица 2.3 (продолжение)ПримитивНазначениеPol 1Проверить наличие сообщений в соответствующей очереди, затем извлечьпервое из них. Ничего не блокироватьNoti fyВставить дескриптор функции, которая будет вызвана при помещениисообщения в соответствующую очередьПримитив put вызывается отправителем для передачи сообщения базовойсистеме, где оно будет помеи^ено в соответствующую очередь.

Как мы объясняли,это неблокирующий вызов. Примитив get — это блокирующий вызов, посредст­вом которого авторизованный процесс может извлечь самое старое сообщение изопределенной очереди. Процесс блокируется только в том случае, если очередьпуста. Варианты этого вызова включают в себя поиск в очереди определенногосообщения, например, с использованием приоритетов или образца для сравне­ния.

Неблокирующий вариант представлен примитивом poll. Если очередь пус­та или искомое сообщение не найдено, вызвавший этот примитив процесс про­должает свою работу.И, наконец, большинство систем очередей сообщений поддерживают такжепроцесс вставки дескриптора функции обрат?1ого вызова (callback function), кото­рая автоматически вызывается при попадании сообщения в очередь. Обратныевызовы могут быть также использованы для автоматического запуска процесса,который будет забирать сообщения из очереди, если ни один процесс в настоя­щее время не запущен. Подобное поведение обычно реализуется при помощи де­мона на стороне получателя, который постоянно проверяет очередь на наличиевходящих сообщений и поступает в соответствии с результатами проверки.Общая архитектура системы очередей сообщенийДавайте теперь рассмотрим поближе, как выглядит обобщенная система очере­дей сообщений.

Одно из первых ограничений, которые мы сделаем, будет состо­ять в том, что сообщения могут быть помещены только в локальные очередиотправР1теля, то есть в очереди, находящиеся на той же самой машине или, вовсяком случае, не дальше, чем на соседней, то есть машине, входящей в ту же ло­кальную сеть. Подобная очередь называется исходящей очередью (source queue).Аналогично, прочитаные сообщения могут быть только из локальных очередей.Сообщение, помещенное в очередь, содержит описание очереди пазпачепия (des­tination queue), в которую оно должно быть перемещено. В обязанности системыочередей сообщений входит предоставление очередей отправрттелям и получате­лям и обеспечение перемещения сообщений из исходящих очередей в очерединазначения.Важно понимать, что набор очередей разнесен по множеству машин.

Соответст­венно, для того чтобы система очередей сообщений могла перемещать сооби1ения,она должна поддерживать отображение очередей на сетевые адреса. На практикеэто означает, что она должна поддерживать базу данных (возможно, распреде­ленную) имен очередей (queue names) в соответствии с их сетевым местоположе­нием, как показано на рис. 2.24. Отметим, что это отображение полностью анало-2.4. Связь посредством сообщений139гично использованию системы доменных имен (DNS) для электронной почтыИнтернета.

Так, например, для отсылки почты на логический почтовый адресsteen@cs.vu.nl почтовая система запрашивает у DNS сетевой адрес (то есть IPадрес) почтового сервера получателя, чтобы затем использовать его для переда­чи сообщений.Поиск адресаочередина транспортномуровнеАдрес на уровнеочередиNБаза данныхпоиска адресовСетьАдрес на транспортномуровнеРис. 2.24. Отношение между адресацией на уровне очередей и на сетевом уровнеОчереди управляются менеджерами очередей (queue managers). Обычно ме­неджер очередей взаимодействует непосредственно с отправляющими и прини­мающими сообщения приложениями. Существуют, однако, и специализированныеменеджеры очередей, которые работают как маршрутизаторы, или ретранслято­ры: они перенаправляют приходящие сообщения другим менеджерам очередей.Таким образом, система очередей сообщений может постепенно вырасти до за­конченной оверлейной сети {overlay netxQ)ork) прикладного уровня поверх сущест­вующей компьютерной сети.

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

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

2.25.При этом маршрутизатор знает, что делать с этим сообщением, и передает егов направлении В. Так, R1 может понять по имени 5, что сообщение следует пере­дать на маршрутизатор R2. Таким образом, при добавлении или удалении очере-140Глава 2. Связьдей обновление информации потребуется только маршрутизаторам, в то времякак остальным менеджерам очередей достаточно будет знать только местополо­жение ближайшего маршрутизатора.Отправитель АМаршрутизаторРис. 2.25. Обобщенная организация систем очередей сообщений с маршрутизаторамиСледовательно, маршрутизаторы могут помочь в создании масштабируемыхсистем очередей сообщений. Однако по мере роста сети очередей сообщенийстановится ясно, что ручное конфигурирование этой сети скоро станет невоз­можным.

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

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
Почему делать на заказ в разы дороже, чем купить готовую учебную работу на СтудИзбе? Наши учебные работы продаются каждый год, тогда как большинство заказов выполняются с нуля. Найдите подходящий учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6510
Авторов
на СтудИзбе
302
Средний доход
с одного платного файла
Обучение Подробнее