AMQP ve RabbitMQ
Kısaca: AMQP, mesaj kuyrukları için açık bir protokoldür; RabbitMQ onu uygulayan en bilinen aracıdır (broker).
Biraz daha ayrıntılı: Üreticiler mesajları, onları kurallara göre kuyruklara (queue) dağıtan bir exchange’e gönderir. Tüketiciler onları oradan alır ve alındığını onaylar.
Ayrıntılı
- Exchange türleri:
direct(tam anahtar),fanout(hepsine),topic(log.*.errorgibi desenler),headers. - Onaylar: Aracı mesajı ancak
ack’ten sonra siler.nackveya kopmada kuyruğa geri döner. - Kalıcılık: Kalıcı kuyruklar ve kalıcı mesajlar yeniden başlatmadan sağ çıkar.
- Dead-letter kuyruğu: İşlenemeyen mesajlar analiz için bir toplama kuyruğuna düşer.
- Karşıtlık: Kafka yeniden okunabilen bir günlük saklar. RabbitMQ, mesajları teslimden sonra kaldıran klasik bir aracıdır. Bkz. mesaj kuyrukları.
- Kullanım: Arka plan işleri, hizmetleri birbirinden ayırma, yük zirvelerini yumuşatma.
Ayrıca bak: MQTT