Mis on tarnegarantiid Kafka-s?
sobes.tech AI
Vastus AI-lt
Garantiid Kafka's kirjeldavad täpselt, kuidas sõnumeid edastatakse tootjalt vahendajale ja vahendajalt tarbijale. Peamised garantiitasemed:
-
Maksimaalselt üks kord (at most once) — sõnum võib kaduma minna, kuid ei dubleeri. Kasutatakse, kui kiirus on oluline ja andmekadu on vastuvõetav.
-
Vähemalt üks kord (at least once) — sõnum jõuab garanteeritult, kuid võib dubleerida. See on Kafka vaikimisi töörežiim.
-
Täpselt üks kord (exactly once) — sõnum jõuab ja töödeldakse täpselt üks kord, ilma duplikaatideta. Kafka saavutatakse idempotentsete tootjate ja transaktsioonide abil.
Et realiseerida exactly once Go klientides Kafka's, tuleb kasutada idempotentsuse ja transaktsioonide tuge, kui raamatukogu seda võimaldab.
Näide konfiguratsioonist idempotentse tootja jaoks (pseudokood):
producer, _ := kafka.NewProducer(&kafka.ConfigMap{
"bootstrap.servers": "localhost",
"enable.idempotence": true, // garanteerib täpselt ühe korra
})