Sobes.tech
Senior

Kafka-да жеткізу кепілдіктерімен қандай жағдайларда кездескенсіз, олар қашан пайдаланылады?

sobes.tech AI

AI-дан жауап

Kafka-да үш негізгі хабарлама жеткізу кепілдігі бар:

  1. Жоғары емес бір рет (At most once) — хабарлама 0 немесе 1 рет жеткізілуі мүмкін. Хабарламаның жоғалуы қабылданады, бірақ қайталануы болмайды.

  2. Кемінде бір рет (At least once) — хабарлама кепілдендірілген түрде жеткізіледі, бірақ бірнеше рет жеткізілуі мүмкін (қайталанулар мүмкін). Бұл жеткізу сенімділігі маңызды болған кезде ең кең таралған режим.

  3. Дәл бір рет (Exactly once) — хабарлама дәл бір рет жеткізіледі, қайталанусыз. Бұл Kafka транзакциялары мен идемпотентті продюсерлер арқылы жүзеге асырылады.

Дәл бір рет кепілдігін қолдану мысалы — қаржылық жүйелерде транзакциялардың қайталануын болдырмау маңызды. Кемінде бір рет — логтау және аналитика үшін, онда деректердің толықтығы маңызды, ал жоғары емес бір рет — аз маңызды хабарламалар үшін.

Go-клиенттерінде Kafka (мысалы, sarama) бұл режимдерді продюсер параметрлері мен растау өңдеу арқылы баптауға болады.