2016-08-01 10 views
1

Ich schrieb einen Knoten-Kafka-Verbraucher. In seltenen Fällen starte ich den kafka-Client mit einer Gruppen-ID, die verwendet wurde, als bestimmte Offsets verfügbar waren, aber nicht mehr verfügbar sind - wodurch das Ereignis "offsetOutOfRange" aufgerufen wird. Was ist das empfohlene Verhalten in diesem Fall? Fehler protokollieren und beenden? Gibt es eine Möglichkeit, sich zu erholen? Ich möchte Zoowärter immer vom letzten festgeschriebenen Offset ausführen (falls vorhanden und verfügbar).Sollte ich meinen Node-Kafka-Consumer auf OffsetOutOfRange stoppen?

Antwort

1

Ich frage mich, warum dies in der Knoten kafka-Verbraucher nicht implementiert, aber das Standardverhalten in anderen Clients des Bereichs Offsetfehler aus für den Umgang mit einem Versatz OffsetRequest zu erhalten entweder die frühesten oder spätesten zur Verfügung zu erteilen, Setzen Sie dann den Consumer-Offset auf einen neuen Wert und fahren Sie mit dem Abrufen fort.

Dies ist eine vollständig wiederherstellbare Situation, und Sie müssen nur angeben, welchen Offset Sie wiederherstellen möchten - frühest oder aktuell verfügbar.

+0

danke, das werde ich tun –