2016-06-23 10 views
13

Ich bin ein Anfänger zu Redis und Kafka. Redis kann als Echtzeit Pub-Sub verwendet werden. Kafka ist aber auch Realtime Pub-Sub. Ich bin verwirrt, welche man wann benutzt. Jeder Anwendungsfall wäre eine große Hilfe! Danke!Unterschied zwischen Redis und Kafka

Antwort

29

Redis Pub-Sub ist meist wie ein Feuer-und-Vergessen-System, bei dem alle von Ihnen produzierten Nachrichten an alle Verbraucher gleichzeitig geliefert werden und die Daten nicht gespeichert werden. Sie haben eine Einschränkung im Speicher bezüglich Redis. Auch die Anzahl der Hersteller und Verbraucher kann die Leistung von Redis beeinflussen.

Kafka dagegen ist ein verteiltes Protokoll mit hohem Durchsatz, das wie eine Warteschlange verwendet werden kann. Hier kann eine beliebige Anzahl von Benutzern produzieren und Konsumenten können jederzeit konsumieren. Es bietet auch Persistenz für die Nachrichten, die über die Warteschlange gesendet werden.

Final Take:

Verwendung Redis:

  1. Wenn Sie Feuer wollen und Art von System vergessen, wo alle Nachrichten, die Sie sofort an die Verbraucher geliefert produzieren werden.
  2. Wenn Geschwindigkeit am meisten betroffen ist.
  3. Wenn Sie mit Datenverlust leben können.
  4. Wenn das System die gesendete Nachricht nicht speichern soll.
  5. Die Menge der Daten, die verarbeitet werden, ist nicht riesig.

Verwenden kafka:

  1. Wenn Sie Zuverlässigkeit wollen.
  2. Wenn Sie möchten, dass Ihr System eine Kopie von Nachrichten erhält, die auch nach dem Verbrauch gesendet wurden.
  3. Wenn Sie nicht mit Datenverlust leben können.
  4. Wenn Geschwindigkeit keine große Sorge ist.
  5. Datengröße ist riesig
Verwandte Themen