2014-09-26 7 views
10

Diese Frage ähnelt Using Kafka as a (CQRS) Eventstore. Good idea?, aber mehr Implementierung spezifisch. Wie kafka als Ereignisspeicher zu verwenden, wenn ich Tausende von Ereignis "Quellen" (Aggregat Wurzeln in DDD) habe? Wie ich in verlinkten Fragen und an anderen Stellen gelesen habe, werde ich Probleme mit dem Thema pro Quelle haben. Wenn ich Ereignisse nach Typ nach Typ aufteilen möchte, ist es viel einfacher zu konsumieren und zu speichern, aber ich benötige Zugriff auf den Ereignisstrom einer bestimmten Quelle. Wie macht man Events mit Kafka?kafka als Ereignisspeicher in ereignisbasiertem System

Antwort

2

Veröffentlichen Sie alle Ihre Ereignisquellen zu einem einzigen Thema mit einem Datentyp (Sparsamkeit?), Die eine eindeutige Kennung für jede Ereignisquelle enthält. Erstellen Sie dann für jeden Ereignistyp, an dem Sie interessiert sind, Benutzer und identifizieren Sie sie jeweils mit einem eindeutigen Namen für die Benutzergruppe. Auf diese Weise erhält jeder eindeutige Quellverbraucher seinen eigenen Offset-Wert in zookeeeper. Jeder liest das ganze Thema, gibt aber nur Informationen aus einer einzigen Quelle (oder einer Gruppe von Quellen) aus.