Junior — Middle
Apache Kafka'da tüketici grubu nasıl uygulanır?
sobes.tech yapay zeka
AI'dan gelen yanıt
Apache Kafka'da tüketici grubu (consumer group), birlikte veri okuyan ve bölümleri paylaşan bir tüketiciler kümesi olarak uygulanır. Her tüketici, kendine özgü bir bölüm kümesi alır ve bu, mesajların paralel işlenmesini ve çoğaltılmasını engeller.
Go (Golang) kullanırken sarama veya confluent-kafka-go kütüphaneleri ile aynı group.id belirterek bir tüketici grubu oluşturabilirsiniz. Kafka, bölümleri otomatik olarak grup üyeleri arasında dağıtır ve kaydırıcıları (offsets) takip eder.
sarama kullanımıyla örnek:
config := sarama.NewConfig()
config.Version = sarama.V2_1_0_0
consumerGroup, err := sarama.NewConsumerGroup([]string{"localhost:9092"}, "my-group", config)
if err != nil {
panic(err)
}
topics := []string{"my-topic"}
// ConsumerGroupHandler arayüzünü uygulama
handler := &MyConsumerGroupHandler{}
for {
err := consumerGroup.Consume(ctx, topics, handler)
if err != nil {
log.Fatal(err)
}
}
Bu şekilde, tüketici grubu mesajların işlenmesini ölçeklendirmeye ve örnekler arasında yük dengelemesine olanak tanır.