Heim > häufiges Problem > Hauptteil

Der Unterschied zwischen RabbitMQ und Kafka

(*-*)浩
Freigeben: 2020-01-09 11:41:09
Original
8658 Leute haben es durchsucht

Der Unterschied zwischen RabbitMQ und Kafka

In Bezug auf Anwendungsszenarien                                                                                                                               Wird in Echtzeit-Messaging verwendet erfordert eine relativ hohe Zuverlässigkeit. Kafka ist ein im Dezember 2010 von Linkedin als Open Source bereitgestelltes Nachrichtenveröffentlichungs- und Abonnementsystem. Es wird hauptsächlich zur Verarbeitung aktiver Streaming-Daten und zur Verarbeitung großer Datenmengen verwendet.

1) In Bezug auf das Architekturmodell

RabbitMQ folgt dem AMQP-Protokoll und besteht aus Exchange, Binding und Warteschlange, wobei Exchange und Binding das Routing bilden Schlüssel der Nachricht. ;Der Client-Produzent kommuniziert mit dem Server, indem er den Kanal verbindet, und der Verbraucher erhält Nachrichten aus der Warteschlange zum Verbrauch (lange Verbindung, wenn sich eine Nachricht in der Warteschlange befindet, wird dies der Fall sein auf die Verbraucherseite geschoben, und die Verbraucherschleife liest Daten aus dem Eingabestream. RabbitMQ ist Broker-zentriert; es verfügt über einen Nachrichtenbestätigungsmechanismus.

Kafka folgt der allgemeinen MQ-Struktur: Produzent, Broker, Verbraucher, wobei der Verbraucher im Mittelpunkt steht. Die Verbrauchsinformationen der Nachricht werden entsprechend auf dem Client-Verbraucher gespeichert der Verbrauchspunkt; kein Meldungsbestätigungsmechanismus.

2) In Bezug auf den Durchsatz

Kafka hat einen hohen Durchsatz, verwendet intern die Nachrichtenstapelverarbeitung, einen Nullkopiemechanismus und Datenspeicherung und -erfassung sind lokale Festplatten. Sequentielle Stapelverarbeitung Operationen haben eine O(1)-Komplexität und die Nachrichtenverarbeitung ist sehr effizient. RabbitMQ ist kafka in Bezug auf den Durchsatz etwas unterlegen. RabbitMQ unterstützt die zuverlässige Zustellung von Nachrichten, unterstützt Transaktionen und unterstützt keine Stapelvorgänge Speicher oder Festplatte.

3) In Bezug auf die Verfügbarkeit

rabbitMQ unterstützt die Spiegelwarteschlange. Wenn die Hauptwarteschlange ausfällt, übernimmt die Spiegelwarteschlange. Kafkas Broker unterstützt den aktiven und den Backup-Modus.

4) In Bezug auf den Cluster-Lastausgleich

kafka verwendet Zookeeper, um die Broker und Verbraucher im Cluster zu verwalten, und Sie können Themen bei Zookeeper registrieren Durch den Koordinierungsmechanismus von zookeeper speichert der Produzent die dem Thema entsprechenden Brokerinformationen, die zufällig oder auf Abfragebasis an den Broker gesendet werden können

und der Produzent kann Shards basierend auf der Semantik angeben , und die Nachricht wird an einen bestimmten Shard des Brokers gesendet.

Der Lastausgleich von RabbitMQ erfordert einen separaten Lastausgleich zur Unterstützung.

Das obige ist der detaillierte Inhalt vonDer Unterschied zwischen RabbitMQ und Kafka. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage