Eu sou relativamente novo em Kafka. Eu experimentei um pouco, mas algumas coisas não estão claras para mim em relação à compensação do consumidor. Pelo que entendi até agora, quando um consumidor inicia, o deslocamento do qual ele começará a ler é determinado pela configuração auto.offset.reset
(corrija-me se estiver errado).
Agora diga, por exemplo, que há 10 mensagens (compensações de 0 a 9) no tópico, e um consumidor consumiu 5 delas antes de cair (ou antes de eu matar o consumidor). Então diga que eu reinicio esse processo do consumidor. Minhas perguntas são:
Se o
auto.offset.reset
estiver definido comosmallest
, sempre começará a consumir a partir do deslocamento 0?Se o
auto.offset.reset
estiver definido comolargest
, começará a consumir a partir do deslocamento 5?O comportamento em relação a esse tipo de cenário é sempre determinístico?
Por favor, não hesite em comentar se algo na minha pergunta não estiver claro. Desde já, obrigado.
auto.offset.reset
isso não terá mais significado a partir de então? O único significado dessa configuração é quando não há nada comprometido (e, idealmente, isso seria na primeira inicialização do consumidor)?