Junior — Middle
როგორ ხორციელდება მომხმარებელთა ჯგუფი Apache Kafka-ში?
sobes.tech AI
პასუხი AI-სგან
Apache Kafka-ში, მომხმარებელთა ჯგუფი (consumer group) განთავსებულია როგორც მომხმარებელთა ჯგუფი, რომლებიც ერთობლივად კითხულობენ მონაცემებს თემებიდან, განაწილებით ნაწილაკებს შორის. თითოეული მომხმარებელი ჯგუფში იღებს უნიკალურ ნაწილაკთა ნაკრებს, რაც უზრუნველყოფს შეტყობინებების პარალელურ დამუშავებას და დუბლირების გარეშე.
Go (Golang)-ით, sarama ან confluent-kafka-go ბიბლიოთეკების გამოყენებით, შეგიძლიათ შექმნათ მომხმარებელთა ჯგუფი მითითებით იგივე group.id. Kafka ავტომატურად განაწილებს ნაწილაკებს ჯგუფის წევრებზე და თვალს ადევნებს გადახედვებს (offsets).
მაგალითი sarama-ით:
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 ინტერფეისის რეალიზაცია
handler := &MyConsumerGroupHandler{}
for {
err := consumerGroup.Consume(ctx, topics, handler)
if err != nil {
log.Fatal(err)
}
}
ამ გზით, მომხმარებელთა ჯგუფი საშუალებას აძლევს მასშტაბურობის გაზრდას და ტვირთის ბალანსირებას ინსტანციებს შორის.