Sobes.tech
Junior — Middle

U kom delu unutar Kafka se čuva vrednost Offset za konzumirane poruke?

sobes.tech АИ

Одговор од АИ

U Apache Kafka, vrednost Offset za obrađene poruke čuva se u posebnoj internom topiku nazvanom __consumer_offsets. Ovaj topik čuva informacije o trenutnoj poziciji svake grupe potrošača (consumer group) u svakoj particiji (partition) topika.

Na taj način, Kafka ne čuva offset lokalno na klijentu, već centralizovano u klasteru, što omogućava potrošačima da se oporave i nastave čitanje od potrebne pozicije.

Pored toga, klijenti mogu ručno (commit) ili automatski čuvati offset, u zavisnosti od podešavanja potrošača.

Primer u Go jeziku koristeći biblioteku confluent-kafka-go za commitovanje offseta:

consumer.CommitMessage(message)

gde je message pročitana poruka, čiji će offset biti sačuvan.