Sobes.tech
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.