Heim >Datenbank >Redis >Der Unterschied zwischen Redis und Kafka

Der Unterschied zwischen Redis und Kafka

(*-*)浩
(*-*)浩Original
2019-06-18 09:59:319462Durchsuche

Der größte Unterschied zwischen Kafka und Redis PUB/SUB besteht darin, dass Kafka ein vollständiges System ist, während Redis PUB/SUB nur eine Suite (Dienstprogramm) ist – keine Beleidigung für Redis, schließlich ist seine Hauptfunktion nicht PUB /SUB.

Der Unterschied zwischen Redis und Kafka

Redis Message Push (basierend auf Distributed Pub/Sub) wird hauptsächlich für Message Push mit hoher Echtzeitleistung verwendet . Garantierte Zuverlässigkeit. (Empfohlenes Lernen: Redis-Video-Tutorial)
Andere mq und kafka sind garantiert zuverlässig, weisen jedoch einige Verzögerungen auf (Nicht-Echtzeitsysteme garantieren keine Verzögerungen). Redis-pub/sub wird gelöscht, wenn der Strom ausgeschaltet wird. Obwohl die Verwendung von redis-list als Nachrichten-Push dauerhaft ist, ist es zu schwach und nicht vollständig zuverlässig und geht nicht verloren.

Ein weiterer Punkt ist, dass Redis Publish und Subscribe nicht nur unterschiedliche Themen darstellt, sondern auch keine Gruppierung unterstützt. Wenn Kafka beispielsweise etwas veröffentlicht, können mehrere Abonnenten gruppiert werden, und nur ein Abonnent in derselben Gruppe erhält das Nachricht, die zum Lastausgleich verwendet werden kann.

Redis ist in erster Linie eine In-Memory-Datenbank. Die PUB/SUB-Funktion speichert Nachrichten im Speicher (basierend auf Kanälen), wenn Ihre Anforderungen an die Nachrichtenpersistenz also nicht hoch sind, und im Back-End Anwendung: Wenn Sie über eine hohe Kaufkraft verfügen, ist die Verwendung von Redis PUB/SUB ein geeigneteres Nutzungsszenario. Auf der offiziellen Website finden Sie beispielsweise ein Beispiel für einen Online-Chatroom: Simulieren Sie IRC, da der Kanal der Server im IRC ist. Der Benutzer initiiert eine Verbindung, veröffentlicht Nachrichten im Kanal und empfängt Nachrichten von anderen Benutzern. Diese Anforderungen an die Persistenz sind nicht hoch und es reicht aus, Redis PUB/SUB zu verwenden.

Kafka ist ein vollständiges System, das ein verteiltes Übermittlungsprotokoll mit hohem Durchsatz bereitstellt (aufgrund der Bereitstellung von Kafka Connect und Kafka Streams wurde die aktuelle offizielle Kafka-Website auf eine Distribution-A-Streaming-Verarbeitung umgestellt Plattform, Kafkas Ehrgeiz ist auch hier zu erkennen :-). Zusätzlich zur P2P-Nachrichtenwarteschlange bietet es natürlich ein PUB/SUB-Nachrichtenmodell. Darüber hinaus sorgt Kafka standardmäßig für Nachrichtenpersistenz und stellt so sicher, dass Nachrichten nicht verloren gehen (zumindest in den meisten Fällen). Da zudem Konsummetadaten auf Konsumentenseite gespeichert werden, erhält der Konsument ein hohes Maß an Freiheit beim Konsum. Ein Verbraucher kann Nachrichten nacheinander konsumieren oder zuvor verarbeitete Nachrichten erneut konsumieren. Das sind Dinge, die Redis PUB/SUB nicht kann.

Redis PUB/SUB-Nutzungsszenarien:

1. Anforderungen an die Nachrichtenpersistenz sind nicht hoch
2 hoch
3. Kann Datenverlust tolerieren
Die Datenmenge ist nicht groß

Kafka-Nutzungsszenarien:

Andere Szenarien außer den oben genannten: )
1. Hoher Durchsatz
3. Diversifiziertes Verbrauchsverarbeitungsmodell

Weitere technische Artikel zu Redis finden Sie unter

Einführung zum Verwenden der Redis-Datenbank-Tutorial

Spalte zum Lernen!

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

Stellungnahme:
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