Ich schreibe einen kafka
consumer mit Java. Ich möchte die Echtzeit der Nachricht beibehalten. Wenn also zu viele Nachrichten auf den Konsum warten, wie beispielsweise 1000 oder mehr, sollte ich die nicht verbrauchten Nachrichten aufgeben und mit dem letzten Offset beginnen.
Für dieses Problem versuche ich, den letzten festgeschriebenen Offset und den letzten Offset eines Themas (nur 1 Partition) zu vergleichen. Wenn der Unterschied zwischen diesen beiden Offsets größer als ein bestimmter Betrag ist, werde ich den letzten Offset des Thema als nächsten Offset, so dass ich diese redundanten Nachrichten aufgeben kann.
Jetzt ist mein Problem, wie man den spätesten Ausgleich eines Themas erhält, einige Leute sagen, dass ich alten Verbraucher benutzen kann, aber es ist zu kompliziert, hat neuer Verbraucher diese Funktion?
Das obige Snippet gibt den aktuellen Committed-Nachrichtenoffset für das angegebene Thema und die Partitionsnummer zurück.
Tags und Links java apache-kafka kafka-consumer-api