Sono relativamente nuovo a Kafka. Ho fatto un po 'di esperimenti ma alcune cose non sono chiare per quanto riguarda l'offset del consumatore. Da quello che ho capito, quando un consumatore inizia, l'offset da cui inizierà a leggere è determinato dall'impostazione di configurazione auto.offset.reset
(correggimi se ho torto).Che cosa determina l'offset del consumatore Kafka?
Ora, ad esempio, nell'argomento ci sono 10 messaggi (scostamenti da 0 a 9) e un consumatore ha consumato 5 di essi prima che scendesse (o prima che uccidessi il consumatore). Quindi dire che riavvio quel processo di consumo. Le mie domande sono:
Se auto.offset.reset
è impostato su smallest
, inizierà sempre a consumare dall'offset 0?
Se è impostato su largest
, inizierà a consumare dall'offset 5?
Il comportamento di questo tipo di scenario è sempre deterministico? Per favore non esitate a commentare se qualcosa nella mia domanda non è chiara. Grazie in anticipo.
Grazie molto per la risposta. Quindi, per quanto riguarda il consumatore di alto livello, una volta che un consumatore ha commesso qualcosa (sia in ZK o Kafka), il "auto.offset.reset' non ha alcun significato da quel momento in poi? L'unico significato di questa impostazione è quando non viene commesso nulla (e idealmente sarebbe al primo avvio del consumatore)? –
Esattamente come hai descritto – serejja
L'offset ha un ruolo con i registri di 'Compattazione'. – peaceUser