Sobes.tech
Junior — Middle

Kur Kafka viduje saugomas nuskaitytų pranešimų Offset reikšmė?

sobes.tech AI

Atsakymas iš AI

Apache Kafka, pernaudotų pranešimų Offset reikšmė saugoma specialiame vidiniame temoje pavadinimu __consumer_offsets. Šis temoje saugoma informacija apie kiekvienos vartotojų grupės (consumer group) dabartinę poziciją kiekviename temą (partition).

Taip, Kafka nesaugo offset vietoje kliento, o centralizuotai klasteryje, kas leidžia vartotojams atsistatyti ir tęsti skaitymą nuo reikiamos pozicijos.

Be to, klientai gali rankiniu būdu (commit) arba automatiškai saugoti offset, priklausomai nuo vartotojo nustatymų.

Pavyzdys Go kalba naudojant confluent-kafka-go biblioteką offsetų commit'ui:

consumer.CommitMessage(message)

kur message yra perskaitytas pranešimas, kurio offset'as bus išsaugotas.