Sobes.tech
Senior

Mi a Kafka szállítási garanciái?

sobes.tech MI

Válasz az MI-től

A Kafka szállítási garanciái pontosan leírják, hogyan történik az üzenetek kézbesítése a producer-tól a broker-ig és a broker-tól a fogyasztóig. A fő garancia szintek:

  1. Legfeljebb egyszer (at most once) — az üzenet elveszhet, de nem duplikálódik. Akkor használjuk, ha a sebesség fontos, és elfogadható az adatvesztés.

  2. Legalább egyszer (at least once) — az üzenet garantáltan kézbesítésre kerül, de duplikálódhat. Ez a Kafka alapértelmezett működési módja.

  3. Pontosan egyszer (exactly once) — az üzenet pontosan egyszer kerül kézbesítésre és feldolgozásra, duplikátum nélkül. Kafka-ban ezt idempotens producer-ek és tranzakciók segítségével érik el.

A Go Kafka klienseknél az exactly once megvalósításához támogatni kell az idempotenciát és a tranzakciókat, ha a könyvtár lehetővé teszi.

Idempotens producer konfigurációs példa (szó szerinti kód):

producer, _ := kafka.NewProducer(&kafka.ConfigMap{
    "bootstrap.servers": "localhost",
    "enable.idempotence": true, // garantálja az egyszeri kézbesítést
})