Sobes.tech
Junior — Middle

Kafka daxilində, istifadə olunan mesajlar üçün Offset dəyəri harada saxlanılır?

sobes.tech Süni İntellekt

AI-dan cavab

Apache Kafka-da, istifadə olunan mesajlar üçün Offset dəyəri __consumer_offsets adlı xüsusi daxili mövzuda saxlanılır. Bu mövzu hər bir istifadəçi qrupu (consumer group) üçün hər bir bölmədə (partition) mövcud vəziyyəti haqqında məlumat saxlayır.

Beləliklə, Kafka offset-i müştəri tərəfində yerli olaraq saxlamır, əksinə, klasterdə mərkəzləşdirilmiş şəkildə saxlayır ki, bu da istifadəçilərə özlərini bərpa etməyə və lazım olan mövqedən oxumağa davam etməyə imkan verir.

Bundan əlavə, müştərilər offset-i əl ilə (commit) və ya avtomatik olaraq saxlaya bilərlər, bu isə istifadəçinin tənzimləmələrindən asılıdır.

Go dilində confluent-kafka-go kitabxanası ilə offsetlərin commit edilməsi nümunəsi:

consumer.CommitMessage(message)

burada message oxunmuş mesajdır və onun offset-i yadda saxlanacaq.