Junior — Middle
Kafka'da bir mesajın okunduğu nasıl belirlenir?
sobes.tech yapay zeka
AI'dan gelen yanıt
Kafka'da bir mesajın okunduğu durumu, konu bölümlerindeki (partitions) kaydırmalar (offsets) ile belirlenir. Her tüketici (consumer), her bölümde hangi kaydırmaya kadar okunduğunu takip eder.
Bir mesajın okunduğunu belirlemek için:
- Tüketicinin mesajı başarıyla işlediğinden emin olun.
- Bu mesajın kaydırmasını Kafka'da onaylayın (commit), yani broker'a tüm mesajların bu kaydırmaya kadar işlendiğini bildirin.
Go'da, Kafka istemcisi (örneğin, sarama veya confluent-kafka-go) kullanarak, mesajlar işlendiğinde kaydırmaları açıkça onaylayabilirsiniz. Kaydırma onaylandıysa, mesaj okunmuş sayılır ve tekrar bu tüketiciye teslim edilmez.
Örnek sarama ile (basitleştirilmiş):
consumer.MarkMessage(msg, "") // Mesajı okundu olarak işaretle
consumer.CommitOffsets() // Kaydırmaları onayla
Bu şekilde, mesajın okunması durumu, Kafka'da başarılı bir kaydırma onayıdır.