Sobes.tech
Junior — Middle

Apache Kafka-da istehlakçı qrupunun həyata keçirilməsi necədir?

sobes.tech Süni İntellekt

AI-dan cavab

Apache Kafka-da istehlakçı qrupu (consumer group) birgə məlumat oxuyan və bölmələri paylaşan istehlakçılar to'plami sifatida amalga oshiriladi. Har bir istehlakchi guruhda o'ziga xos bo'limlar to'plamini oladi, bu esa xabarlarni parallel tarzda qayta ishlash va takrorlanishni oldini oladi.

Go (Golang) bilan sarama yoki confluent-kafka-go kutubxonalaridan foydalanib, bir xil group.id ko'rsatilgan holda iste'molchilar guruhini yaratish mumkin. Kafka avtomatik ravishda bo'limlarni guruh a'zolari o'rtasida taqsimlaydi va offsetlarni kuzatib boradi.

sarama bilan misol:

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 interfeysini amalga oshirish
handler := &MyConsumerGroupHandler{}

for {
    err := consumerGroup.Consume(ctx, topics, handler)
    if err != nil {
        log.Fatal(err)
    }
}

Shu tarzda, iste'molchilar guruhi xabarlarni qayta ishlashni kengaytirishga va instansiyalar o'rtasida yukni taqsimlashga imkon beradi.