Kafka-da çatdırılma zəmanətləri nədir?
sobes.tech Süni İntellekt
AI-dan cavab
Kafka-da çatdırılma zəmanətləri, mesajların dəqiq necə çatdırıldığını təsvir edir, yəni istehsalçidən brokera və brokerdan istehlakçıya necə çatdırılır. Əsas zəmanət səviyyələri:
-
Ən çox bir dəfə (at most once) — mesaj itə bilər, lakin təkrarlanmayacaq. Sürət vacibdirsə və məlumat itkisi qəbul edilə bilərsə istifadə olunur.
-
Ən az bir dəfə (at least once) — mesaj zəmanətlə çatdırılır, lakin təkrarlana bilər. Bu, Kafka-nın standart işləmə rejimidir.
-
Tam olaraq bir dəfə (exactly once) — mesaj tam olaraq bir dəfə çatdırılır və işlənir, təkrarlamalar olmadan. Kafka-da bu, idempotent istehsalçılar və tranzaksiyalar vasitəsilə əldə edilir.
Go müştərilərində tam olaraq bir dəfə həyata keçirmək üçün, kitabxana imkan verərsə, idempotentlik və tranzaksiyalardan istifadə edilməlidir.
Idempotentlik ilə konfiqurasiya nümunəsi (sözsüz kod):
producer, _ := kafka.NewProducer(&kafka.ConfigMap{
"bootstrap.servers": "localhost",
"enable.idempotence": true, // tam olaraq bir dəfə zəmanət verir
})