Upload
ontico
View
1.647
Download
1
Embed Size (px)
DESCRIPTION
Citation preview
Высокопроизводительные системыобмена сообщениями:
Spread Toolkit
Илья Зайцев
В этом докладе
Что такое Message Oriented Middleware (МОМ)Group Communication Systems (GCS) подмножество
MOMSpread Toolkit - open source GCSСхемы использования Что еще существует
Что такое Message Oriented Middleware (МОМ)
• Задача - уменьшить сложность разработки распределенных систем
• Нет необходимости в знаниях платформ, сетевых интерфейсов и протоколов
• Соединить разнородные (платформы, языки) процессы
• Как правило большой набор API для разных языков• Асинхронные вызовы• Очереди сообщений - временное хранение
сообщений для занятых или не присоединенных процессов
• Реализации client/server, broadcast или multicast
Group Communication System (GCS) подмножество MOM
• Получение сообщений от всех членов группы• Информация о составе групп• Гарантированный порядок доставки
сообщений в группе
Spread Toolkit - open source GCSЧто есть и чего нет• Работает на большинстве популярных OS• API доступен для С/C++, Java, Python, Perl• Сетевое взаимодействие через мультикаст и
бродкаст• Один к одному и один ко многим
• Нет persistence• Нет подтверждения о доставке• Нет безопасности
Как устроено
• Демоны взаимодействуют через мультикаст или broadcast• Приложения через API соединены с демоном через unix sockets
или TCP/IP
Конфигурация
Spread_Segment 10.230.231.255:7777 {
mfd60 10.230.231.60
mfd47 10.230.231.47
}
Производительность
Производительность. Большие сообщения >1КПо данным Spread Concepts LLC
Производительность. Маленькие сообщения ~700bПо данным Spread Concepts LLC
Производительность.Задержки подключения/отключения.
По данным Spread Concepts LLC
Недостатки• Нет persistence - нет получателя? Сообщение
потеряно• Нет подтверждения о доставке - нет получателя? Вы
об этом не узнаете• Нет безопасности - любой может подключится к
группе и послать сообщение
• Если не вычитывать сообщения с достаточной скоростью то насильное отключение без предупреждений
• Размер сообщения ограничен ~100К• Динамическая реконфигурация возможна, но не
очень проста• Иногда схема процесс->демон->демон->процесс
слишком затратная
Схемы использования групповых коммуникаций
• Общая шина запросов все обработчики видят все запросы
• Общая шина управлениязапросы обрабатываются локально (локальная группа) и передаются на выбранный обработчик
Пример многоуровневой обработки для Apache в режиме prefork
Что еще существует• TIBCO Rendezvous• 29West Ultra Messaging• IBM MQSeries• Advanced Message Queuing Protocol