AMQP und RabbitMQ
Kurz: AMQP ist ein offenes Protokoll für Nachrichtenwarteschlangen, RabbitMQ der bekannteste Broker, der es umsetzt.
Genauer: Erzeuger schicken Nachrichten an einen Austausch (Exchange), der sie nach Regeln in Warteschlangen (Queues) verteilt. Verbraucher holen sie dort ab und bestätigen den Empfang.
Im Detail
- Exchange-Typen:
direct(genauer Schlüssel),fanout(an alle),topic(Muster wielog.*.error),headers. - Bestätigungen: Erst nach
acklöscht der Broker die Nachricht. Beinackoder Abbruch kommt sie erneut in die Warteschlange. - Dauerhaftigkeit: Dauerhafte Queues und persistente Nachrichten überleben einen Neustart.
- Dead-Letter-Queue: Nicht verarbeitbare Nachrichten landen in einer Sammel-Queue zur Analyse.
- Abgrenzung: Kafka speichert ein Protokoll, das man erneut lesen kann. RabbitMQ ist ein klassischer Broker, der Nachrichten nach der Zustellung entfernt. Siehe Message-Queues und Event-Streaming.
- Einsatz: Hintergrundaufgaben, Entkopplung von Diensten, Lastspitzen glätten.
Siehe auch: MQTT