Sobes.tech
Junior — Middle

Kafka-ს რომელ კომპონენტმა უზრუნველყოფს ერთიდაიგივე შეტყობინებების მეორედ წაკითხვას თავიდან აცილებას?

sobes.tech AI

პასუხი AI-სგან

Kafka-ში, იგივე შეტყობინებების განმეორებითი წაკითხვის თავიდან აცილება უზრუნველყოფილია გადახრების (offsets) მექანიზმით და მათი მართვით მომხმარებლის (consumer) მხარეს.

ყოველი შეტყობინება ნაწილში აქვს უნიკალური offset — რიგითი ნომერი. მომხმარებელი აკონტროლებს, რომელი offset უკვე წაიკითხა და ადასტურებს (commit). გადატვირთვისას, მომხმარებელი იწყებს წაკითხვას ბოლო დადასტურებული offset-იდან, ამით თავიდან აცილებს უკვე დამუშავებული შეტყობინებების განმეორებით წაკითხვას.

ამიტომ, კომპონენტი, რომელიც პასუხისმგებელია განმეორებითი წაკითხვის თავიდან აცილებაზე, არის თავად მომხმარებელი, რომელიც მართავს commit offset-ებს.