![](/img/trans.png)
[英]Connect kafka in go(sarama), the consumer can not get message through topic
[英]Kafka Topic and Partition allocation for consumer
我刚开始研究kafka,我需要使用sarama go pkg开发一个消费者客户端,客户端应该是消费者组的一部分,需要从两个主题A和B中读取,客户端需要从一些分区中读取任何平衡策略分配给它的主题 A 和 B 它需要从所有分区中读取(B 有点像广播主题)。
工作流程:
注意:如果添加了新客户端,则应重新平衡 A 中的分区,并读取 B 中的所有分区。
我尝试实施我的自定义平衡策略但失败了,请让我知道这是否可以完成以及如何做到这一点。
对于同一消费者组中的任何消费者,多个消费者不可能监听任何重叠的分区。 换句话说,除非您将 C2 消费者移动到其自己的唯一组,否则无法监听主题 B 的所有分区,而不管主题 A 的消费者组的再平衡策略如何。
您需要在服务中同时实现分区消费者和组消费者。
1. 团体消费者
使用 Group Consumer 消费来自主题“A”的消息。 您可以在 Sarama 库中实现ConsumerGroup
接口。 您的消费者“C1”和“C2”都需要作为一个组订阅主题“A”(使用相同的客户端 ID)。
2.分区消费者
使用分区消费者来消费主题“B”中的消息。 为此,请使用 Sarama 库中的Consumer
接口。 “C1”和“C2”需要在启动和重新平衡之后订阅所有分区。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.