Очереди Сообщений в Распределённых Системах

15
ОЧЕРЕДИ СООБЩЕНИЙ В РАСПРЕДЕЛЁННЫХ СИСТЕМАХ МАКСИМ МЕЛЬНИКОВ (MAX_POSEDON)

description

Лекция для студентов БГУИР

Transcript of Очереди Сообщений в Распределённых Системах

Page 1: Очереди Сообщений в Распределённых Системах

ОЧЕРЕДИ СООБЩЕНИЙВ РАСПРЕДЕЛЁННЫХ СИСТЕМАХ

МАКСИМ МЕЛЬНИКОВ (MAX_POSEDON)

Page 2: Очереди Сообщений в Распределённых Системах

КТО Я

I Wargaming.netI Order of WarI Order of War: ChallengeI World of Tanks developer

I Linux Mobile hobbyistI OpenmokoI systemdI telepathyI Gentoo

Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)

Page 3: Очереди Сообщений в Распределённых Системах

ОЧЕРЕДИ СООБЩЕНИЙ

Что это такое?Это архитектура и ПО промежуточного уровня, которое занимается сбором,хранением и маршрутизацией (распределением) сообщений между компонентами.

Зачем?Организация очереди сообщений помогает раз-балансировать нагрузку междуразличными узлами сети, избавиться от единой точки отказа (SPOF), выполнятьбизнес-логику приложения асинхронно, повысить скорость ответа системы имногое другое.

Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)

Page 4: Очереди Сообщений в Распределённых Системах

Apache ActiveMQ

I Реализован на JavaI Полностью реализует Java Message Service 1.1 (JMS)I "Enterprise Features": кластеризация, журнал операций, ...

Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)

Page 5: Очереди Сообщений в Распределённых Системах

ZeroMQ

I Реализован на C++I Работает без сервераI Низкоуровневое API

Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)

Page 6: Очереди Сообщений в Распределённых Системах

PgQ

I Реализован на C/SQL как расширение к PostgreSQLI Тесная интеграция с базой данных (транзакции)I Skype

Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)

Page 7: Очереди Сообщений в Распределённых Системах

AMQP

AMQPAdvanced Message Queueing Protocol

Apache Qpid

I Реализация на C++I RedHat

RabbitMQ server

I Реализация на ErlangI VMWare

Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)

Page 8: Очереди Сообщений в Распределённых Системах

ТЕРМИНОЛОГИЯ

I Сообщение (message)I Точка обмена (exchange)I Очередь (queue)I Ключ маршрутизации (routing key)

Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)

Page 9: Очереди Сообщений в Распределённых Системах

Hello World

Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)

Page 10: Очереди Сообщений в Распределённых Системах

Work queues

Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)

Page 11: Очереди Сообщений в Распределённых Системах

Publish/Subscribe

Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)

Page 12: Очереди Сообщений в Распределённых Системах

Routing

Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)

Page 13: Очереди Сообщений в Распределённых Системах

Topics

Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)

Page 14: Очереди Сообщений в Распределённых Системах

RPC

Очереди сообщений в распределённых системах, Максим Мельников (max_posedon)

Page 15: Очереди Сообщений в Распределённых Системах

СПАСИБО ЗА ВНИМАНИЕ. ВОПРОСЫ

Максим Мельниковmailto:[email protected]://plus.google.com/114669104565190507739/https://twitter.com/max_posedonhttp://wargaming.comhttp://www.rabbitmq.com/getstarted.htmlhttp://www.slideshare.net/max_posedon/ss-20478651https://github.com/max-posedon/talk-mq-distributed