Kafka-да жеткізу кепілдіктерімен қандай жағдайларда кездескенсіз, олар қашан пайдаланылады?
sobes.tech AI
AI-дан жауап
Kafka-да үш негізгі хабарлама жеткізу кепілдігі бар:
-
Жоғары емес бір рет (At most once) — хабарлама 0 немесе 1 рет жеткізілуі мүмкін. Хабарламаның жоғалуы қабылданады, бірақ қайталануы болмайды.
-
Кемінде бір рет (At least once) — хабарлама кепілдендірілген түрде жеткізіледі, бірақ бірнеше рет жеткізілуі мүмкін (қайталанулар мүмкін). Бұл жеткізу сенімділігі маңызды болған кезде ең кең таралған режим.
-
Дәл бір рет (Exactly once) — хабарлама дәл бір рет жеткізіледі, қайталанусыз. Бұл Kafka транзакциялары мен идемпотентті продюсерлер арқылы жүзеге асырылады.
Дәл бір рет кепілдігін қолдану мысалы — қаржылық жүйелерде транзакциялардың қайталануын болдырмау маңызды. Кемінде бір рет — логтау және аналитика үшін, онда деректердің толықтығы маңызды, ал жоғары емес бір рет — аз маңызды хабарламалар үшін.
Go-клиенттерінде Kafka (мысалы, sarama) бұл режимдерді продюсер параметрлері мен растау өңдеу арқылы баптауға болады.