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

Այսպիսով, սպառողների խումբը հնարավորություն է տալիս ընդլայնել հաղորդագրությունների մշակումը և ապահովում բեռի հավասարակշռությունը ինստանցիաների միջև։