EMZETT.
Login

AMQP and RabbitMQ

In short: AMQP is an open protocol for message queues, RabbitMQ the best-known broker implementing it.

In more detail: Producers send messages to an exchange, which distributes them into queues by rules. Consumers pick them up there and acknowledge receipt.

In Depth

  • Exchange types: direct (exact key), fanout (to all), topic (patterns like log.*.error), headers.
  • Acknowledgements: Only after ack does the broker delete the message. On nack or abort it returns to the queue.
  • Durability: Durable queues and persistent messages survive a restart.
  • Dead-letter queue: Messages that cannot be processed land in a collecting queue for analysis.
  • Contrast: Kafka stores a log that can be re-read. RabbitMQ is a classic broker that removes messages after delivery. See message queues and event streaming.
  • Use: Background jobs, decoupling services, smoothing load peaks.

See also: MQTT