2016-08-26 6 views
0

Ich habe über Apache Kafka gelesen, und ich stieß auf das Konzept der Verbrauchergruppen. Was ich nicht verstehe, ist der Anwendungsfall. Zwei verschiedene Verbraucher aus verschiedenen Gruppen können die gleiche Nachricht lesen, die veröffentlicht wird. Warum möchte man die gleiche Botschaft von zwei verschiedenen Verbrauchern verarbeiten? Kann jemand einen praktischen Anwendungsfall geben?Apache Kafka mehrere Gruppen

+1

Service 1 senden Sie eine E-Mail, Service 2 speichert in der Datenbank. – Kao

+0

Sie haben es gerade zusammengefasst! @Kao –

Antwort

1

Sie möchten die Daten zu MySQL und zu Elasticsearch und Sie haben eine Anwendung zu schreiben, die Ereignisse und Fahnen, einige als „Fehler“ liest.

Jeder dieser Anwendungsfälle ist eine separate Anwendung, die alle Ereignisse sehen soll, so dass sie separate Benutzergruppen sind und jeder alle Nachrichten sehen wird.

1

Dies ist das typischste Szenario in Kafka: Eine Anwendung erzeugt eine Nachricht und Sie haben zwei verschiedene Systeme, die zwei verschiedene Sichten auf diese Daten erstellen (d. H. In ES indizieren und in Redis zwischenspeichern).

Vor Kafka war es üblich, dass Ihre App ihre Daten doppelt in beide Apps geschrieben hat, mit all den Problemen, die Dual-Schreibvorgänge in Bezug auf Konsistenz haben.

Mit Kafka können Sie so viele Consumer-Systeme in Form von Gruppen ausgliedern und haben auch Parallelisierung und Fehlertoleranz mit mehreren Partitionen und Consumer-Instanzen innerhalb der Gruppe.

+0

Ja. Ich war unter einer dummen Annahme, dass alle Verbraucher denselben Code ausführen werden. Jetzt ist es klar! –