Oldingi ish joyingizda Kafka'da qanday xabar yetkazib berish kafolati mexanizmi ishlatilgan?
sobes.tech AI
AIdan javob
Kafka'da xabar yetkazib berish kafolatlari, ishlab chiqaruvchi va iste'molchi parametrlarining sozlamalari, shuningdek, tasdiqlash (acks) va ofsetlarni boshqarish (offsets) mexanizmi orqali ta'minlanadi.
Asosiy mexanizmlar:
-
acks — ishlab chiqaruvchi parametr, qaysi replikalar yozuvni tasdiqlashlari kerakligini belgilaydi. Qiymatlar:
0— tasdiqlashni kutmaslik (past ishonchlilik)1— liderdan tasdiqlashni kutishall(yoki-1) — barcha ISR (sinxron replikalar) dan tasdiqlashni kutish, bu maksimal ishonchlilikni ta'minlaydi
-
Qayta urinishlar va idempotentlik — ishlab chiqaruvchi xatoliklar yuzaga kelganda xabarlarni takror yuborishi mumkin, va idempotentlik duplikatlarni oldini oladi.
-
Ofsetlarni tasdiqlash (offset commit) — iste'molchi, xabarlarni qayta ishlagach, ofsetlarni tasdiqlaydi, shunda xabarlar takror ishlov berilmaydi.
Amalda, "kamida bir marta" yetkazib berishni ta'minlash uchun acks=all va idempotent ishlab chiqaruvchi ishlatiladi, va "to'g'ri bir marta" uchun qo'shimcha sozlamalar va ilova darajasida boshqarish amalga oshiriladi.
Go tilida sarama bilan ishlab chiqaruvchi konfiguratsiyasiga misol:
config := sarama.NewConfig()
config.Producer.RequiredAcks = sarama.WaitForAll
config.Producer.Idempotent = true
config.Producer.Retry.Max = 5
producer, err := sarama.NewSyncProducer(brokers, config)
Shu tarzda, yetkazib berish kafolati mexanizmi tasdiqlashlar, replikatsiya va ofsetlarni boshqarish kombinatsiyasidir.