RabbitMQ ist ein Message Broker für Open Source, der einen Messaging-Warteschlangenansatz verwendet. Warteschlangen werden über einen Cluster von Knoten verteilt und optional repliziert, wobei jede Nachricht nur an einen einzelnen Verbraucher zugestellt wird.
Merkmale Apache Kafka RabbitMQ Architektur Kafka verwendet ein partitioniertes Protokoll-Modell, das Messaging-Queue- und Publish-Subscribe-Ansätze kombiniert. RabbitMQ verwendet eine Messaging-Warteschlange. Skalierbarkeit Kafka bietet Skalierbarkeit, indem Partitionen auf verschiedene Server verteilt werden können. Erhöhen Sie die Anzahl der Verbraucher in der Warteschlange, um die Verarbeitung auf die konkurrierenden Verbraucher auszudehnen. Nachrichtenaufbewahrung Richtlinienbasiert, z. B. können Nachrichten einen Tag lang gespeichert werden. Der Benutzer kann dieses Aufbewahrungsfenster konfigurieren. Bestätigungsbasiert, d. h. Nachrichten werden gelöscht, sobald sie konsumiert werden. Mehrere Verbraucher Mehrere Verbraucher können dasselbe Thema abonnieren, da Kafka zulässt, dass dieselbe Nachricht für ein bestimmtes Zeitfenster wiederholt wird. Mehrere Verbraucher können nicht alle dieselbe Nachricht erhalten, da Nachrichten entfernt werden, wenn sie konsumiert werden. Replikation Themen werden automatisch repliziert, aber der Benutzer kann Themen manuell so konfigurieren, dass sie nicht repliziert werden. Nachrichten werden nicht automatisch repliziert, aber der Benutzer kann sie manuell so konfigurieren, dass sie repliziert werden. Reihenfolge der Nachrichten Aufgrund der partitionierten Protokollarchitektur erhält jeder Verbraucher die Informationen in der richtigen Reihenfolge. Nachrichten werden den Verbrauchern in der Reihenfolge ihres Eingangs in der Warteschlange zugestellt. Wenn es konkurrierende Verbraucher gibt, verarbeitet jeder Verbraucher eine Teilmenge dieser Nachricht. Protokolle Kafka verwendet ein binäres Protokoll über TCP. Erweitertes Messaging-Warteschlangenprotokoll (AMQP – Advanced Messaging Queue Protocol) mit Unterstützung über Plugins: MQTT, STOMP.
Lesen Sie mehr über den Unterschied zwischen Kafka und RabbitMQ»