2016-07-20 19 views
0

Ich möchte wissen, ob es möglich ist, Nachricht zurück in die Warteschlange von Kafka Verbraucher zu stellen? Was sind die besten Praktiken?kafka Nachricht zurück in die Warteschlange stellen, ist es in Ordnung?

Mein Fall ist:

I kafka Warteschlange Nachricht A B C haben, dann nehmen Sie die Verbraucher A, zu verarbeiten, die Schlange geworden B C und etwas Schlimmes passiert, dann will ich es zurück zu setzen, um die Warteschlange einzureihen. Der letzte Zustand ist B C A. Und ich möchte es nicht wiederholen.

Danke.

Antwort

1

In Kafka ist jede Partition eine geordnete immutable Sequenz von Nachrichten, die kontinuierlich an ein Commit-Protokoll angehängt wird. It is impossible, um die fehlgeschlagene Nachricht zurückzusetzen und die Reihenfolge der fehlgeschlagenen Nachrichten zu ändern (von ABC zu BCA).

In der Regel, wenn der Verbraucher A nehmen und nicht in der Lage, es beim ersten Mal zu konsumieren, können Sie es erneut versuchen oder den Verbraucher Offset manuell steuern und es nicht committen. (Sie cou beziehen sich auf Manual Offset Control für Details)

+0

ich meine einfügen A als neue Warteschlange Nachricht, ist es möglich? Aber danke für die Referenz zur manuellen Offsetsteuerung. Ich werde es lesen – Artiko

+0

Ja, das kannst du tun. Sobald die Nachrichtenkennung fehlgeschlagen ist, senden Sie sie an die neue Warteschlange (Wiederholungswarteschlange) und nehmen Sie sie später erneut auf. –