EMZETT.
Войти

AMQP и RabbitMQ

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

Подробнее: Производители отправляют сообщения в обменник (exchange), который по правилам раскладывает их по очередям (queue). Потребители забирают их оттуда и подтверждают получение.

Подробности

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

См. также: MQTT