10
RabbitMQ обмен сообщениями, который просто работает.

Rabbit mq

Embed Size (px)

Citation preview

Page 1: Rabbit mq

RabbitMQ ‒ обмен сообщениями, который просто работает.

Page 2: Rabbit mq

AMQP(Advanced Message Queueing Protocol)

• Открытый протокол для передачи сообщений между компонентами системы

• Отдельные подсистемы (или независимые приложения) могут обмениваться произвольным образом сообщениями через AMQP-брокер

• Осуществляет маршрутизацию • Распределение потоков данных • Подписку на нужные типы сообщений

Page 3: Rabbit mq

• Сообщение (message)

• Точка обмена (exchange):

fanout, direct, topic.

• Очередь (queue)

AMQP основан на трех понятиях

Page 4: Rabbit mq

Проблема коммуникаций

Page 5: Rabbit mq

RabbitMQ

✓Независимость компонентов системы друг от друга

✓Экономия ресурсов достигается вследствие возможности разумно распределять информацию

✓Надежность очередей достигается благодаря возможности накапливать сообщения

✓Гарантия последовательной обработки, позволяющая точно контролировать потоки данных в системе и запускать асинхронную обработку там, где это необходимо

✓Максимальная стабильность ✓Масштабируемость ✓Open source

Page 6: Rabbit mq

  RabbitMQ написан на Erlang

RabbitMQ написан на языке Erlang и базируеться на базе СУБД Mnesia которая также написана на Erlang. Mnesia – это распределённая СУБД реального времени, по своей сути используеться для встраеваемых решений и этим похожа на Berkeley DB.

Page 7: Rabbit mq

 RabbitMQ изнутри

Page 8: Rabbit mq

Платформы

Page 9: Rabbit mq

Кто использует?

• Гарантия доставки • Сохранность сообщений при авариях разного вида • Клиентские библиотеки для php, c++ • Скорость работы: 1-10 тыс сообщений на 1 ядро

Page 10: Rabbit mq

Спасибо за внимание!