EMZETT.
Увійти

AMQP і RabbitMQ

Коротко: AMQP — відкритий протокол для черг повідомлень, RabbitMQ — найвідоміший брокер, що його реалізує.

Докладніше: Виробники надсилають повідомлення до обмінника (exchange), який за правилами розкладає їх по чергах (queue). Споживачі забирають їх звідти й підтверджують отримання.

Подробиці

  • Типи обмінників: direct (точний ключ), fanout (всім), topic (шаблони на кшталт log.*.error), headers.
  • Підтвердження: Брокер видаляє повідомлення лише після ack. За nack чи обриву воно повертається в чергу.
  • Довговічність: Довговічні черги й персистентні повідомлення переживають перезапуск.
  • Черга недоставлених повідомлень (dead-letter): Повідомлення, які не можна обробити, потрапляють у збірну чергу для аналізу.
  • Відмінність: Kafka зберігає журнал, який можна перечитати. RabbitMQ — класичний брокер, що видаляє повідомлення після доставки. Див. черги повідомлень.
  • Застосування: Фонові завдання, розв’язка служб, згладжування піків навантаження.

Див. також: MQTT