Sobes.tech
Junior — Middle

Kā tiek īstenota patērētāju grupa Apache Kafka?

sobes.tech AI

Atbilde no AI

Apache Kafka grupā patērētāju (consumer group) tiek īstenota kā patērētāju kopums, kas kopīgi lasa datus no tematiem, sadalot daļas starp sevi. Katrs patērētājs grupā saņem unikālu daļu no daļām, nodrošinot paralēlu ziņojumu apstrādi bez dublēšanās.

Izmantojot Go (Golang) ar bibliotēkām sarama vai confluent-kafka-go, var izveidot patērētāju grupu, norādot to pašu group.id. Kafka automātiski sadala daļas starp grupas dalībniekiem un seko offsetiem.

Piemērs ar 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 interfeisa īstenošana
handler := &MyConsumerGroupHandler{}

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

Šādā veidā patērētāju grupa ļauj mērogot ziņojumu apstrādi un nodrošina slodzes līdzsvarošanu starp instancēm.