Čo sú to záruky doručenia v Kafka?
sobes.tech AI
Odpoveď od AI
Záruky doručenia v Kafka opisujú, ako presne sú správy doručované od producenta k brokerovi a od brokera k spotrebiteľovi. Hlavné úrovne záruk:
-
Maximálne raz (at most once) — správa môže byť stratená, ale nebude duplikovaná. Používa sa, keď je dôležitá rýchlosť a strata dát je akceptovateľná.
-
Minimálne raz (at least once) — správa je garantovane doručená, ale môže byť duplikovaná. Toto je predvolený režim Kafka.
-
Presne raz (exactly once) — správa je doručená a spracovaná presne raz, bez duplikátov. V Kafka je to dosiahnuteľné pomocou idempotentných producentov a transakcií.
Pre implementáciu exactly once v klientskych knižniciach Kafka v Go je potrebné využiť podporu pre idempotenciu a transakcie, ak knižnica túto funkciu umožňuje.
Príklad konfigurácie producenta s idempotenciou (pseudo-kód):
producer, _ := kafka.NewProducer(&kafka.ConfigMap{
"bootstrap.servers": "localhost",
"enable.idempotence": true, // garantuje exactly-once
})