2017-01-13 2 views
-1

Ich habe einen Produzenten, der Nachrichten auf Kafka sendet und ein Verbraucher eine Geschäftsregel verarbeitet, aber mein Produzent muss benachrichtigt werden, wenn der Verbraucher die Verarbeitung der Nachricht beendet. Muss der Kunde eine Nachricht zu einem anderen Thema senden, wenn er fertig ist, um den Produzenten zu benachrichtigen, oder gibt es eine andere Möglichkeit, dies zu tun?Wie benachrichtigt man einen Produzenten in kafka?

Sehen Sie, ob dieses Bild korrekt ist.

kafka flow

Antwort

0

Es gibt keinen Build-In-Mechanismus in Kafka, weil die Idee von Kafkas Entwurf vollständig entkoppeln Erzeuger und Verbraucher ist.

Die Verwendung eines Themas als Rückkanal sollte funktionieren. Natürlich gibt es auch viele andere mögliche Lösungen.

0

Wenn Sie feststellen können, dass der Konsument die Verarbeitung aller Nachrichten beendet, schalten Sie den Benutzer einfach aus und warten Sie einige Sekunden.
Mit einem Zookeeper-Client, um den Consumer ZNode zu beobachten, erhält der Client beim Entfernen Benachrichtigungen und kann sie an Producer übertragen. Sie müssen jedoch möglicherweise zwischen den Threads kommunizieren.
Ich weiß nicht, ob es richtig ist, aber ich denke, Sie können es versuchen.

Verwandte Themen