Sobes.tech
Junior — Middle

Kafka'da mesaj işleme onayı nasıl gerçekleştirilir?

sobes.tech yapay zeka

AI'dan gelen yanıt

Apache Kafka'da mesaj işleme onayı (acknowledgment), offset commit mekanizmasıyla gerçekleştirilir.

İşlem:

  1. Tüketici, konu (topic) içinden bir mesaj alır.
  2. Mesaj başarıyla işlendiğinde, tüketici bu mesajın ofsetini (offset) kaydeder (commit eder).
  3. Kafka, her tüketici grubu için son onaylanan ofset bilgilerini saklar.

Go dilinde, Kafka istemcisi (örneğin, sarama veya confluent-kafka-go) kullanırken, onaylama otomatik veya manuel olabilir:

  • Otomatik commit — istemci, periyodik olarak işlenen en son ofset bilgisi gönderir.
  • Manuel commit — geliştirici, mesaj işlendiğinde açıkça commit metodunu çağırır, bu da daha fazla kontrol ve güvenilirlik sağlar.

Örnek sarama ile (manuel commit):

consumer, _ := sarama.NewConsumerGroup(brokers, groupID, config)
// Mesaj işleyicisinde, işlem sonrası:
session.MarkMessage(message, "") // mesajı işlendi olarak işaretler
// İşlem tamamlandıktan sonra Commit() çağrılır