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.