Golang 使用 Sarama 消费 Kafka 集群消息 (1)


创建ConsumerGroup消费者组

消费者组允许多个消费者并行处理相同主题的消息,每个消费者负责处理不同的分区。创建时需要先实例化Sarama配置对象。

根据连接到的Kafka集群创建Sarama配置对象,需要注意Kafka集群版本以及消费者组的偏移量。


import (
	"github.com/IBM/sarama"
)

func NewSaramaConfig(version sarama.KafkaVersion, oldest bool) *sarama.Config {
   
	/**
	 * Construct a new Sarama configuration. 构造Sarama配置
	 */
	config := sarama.NewConfig()
	config.Version = version

	if oldest {
   
		config.Consumer.Offsets.Initial = sarama.OffsetOldest
	}

	return config
}

func main() {
   
    // 从最旧的便宜开始消费
    oldest := true

    version := sarama.V3_6_0_0
	// 指定kafka集群版本配置,如"0.10.2.1"
	// version, err := sarama.ParseKafkaVersion("0.10.2.1")
	if err != nil {
   
		log.Panicf("Error parsing Kafka version: %v", err)
	}

	config := NewSaramaConfig(version, oldest)

    // 指定集群brokers列表
    brokers := "host1:9092,host2:9092,host3:9092"
    // 指定group
    group := "sarama_consumergroup"

    client, err := sarama.NewConsumerGroup
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值