Волобуев Петр | Технологический радарВолобуев Петр | Технологический радар

Rabbit MQ

mq
Использую

В угоду простоте сопровождения, а также низких рисков утери сообщений и малого кол-ва откатываемых цепочек в проекте решаем склониться к Rabbit, а не Kafka.

Пробую

RabbitMQ — это брокер сообщений, который помогает сервисам общаться асинхронно: один сервис публикует сообщения, другой (или несколько) их потребляют. Классический сценарий — микросервисы, фоновые задачи, интеграции, “развязать” системы по времени и нагрузке.

Ключевые сущности:

  • Exchange — точка входа сообщений (routing).
  • Queue — буфер сообщений для потребителей.
  • Binding — правило “какие сообщения из exchange попадают в какую очередь”.
  • Routing key — строка, по которой exchange выбирает очередь(и).

Типы exchange (самая частая память-подсказка):

  • direct — точное совпадение routing key
  • topic — шаблоны (a.*.c, a.#)
  • fanout — всем очередям
  • headers — по заголовкам

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