2017-04-06 221 views
0

我是卡夫卡的新手。我浏览了Kafka文档。看起来分派给订阅用户组的消息是通过将分区与消费者实例绑定来实现的。当我们与Apache卡夫卡的工作,我们应该记住Kafka关于消费群体的问题

一个重要的事情是消费者的同一消费群体的数量应小于或等于消耗的主题分区的数量。否则,超出的消费者将不会收到该主题的任何消息。

在非生产环境中,我没有配置主题分区。在这种情况下,卡夫卡是否只有一个分区?如果我启动了多个共享相同组的消费者并订阅它们到该主题,那么该消息是否总是被分派到组中的同一个实例?换句话说,我必须划分主题以获得消费者组中的负载平衡功能?

谢谢!

回答

2

你是绝对正确的。一个分区不能以并行方式处理(由一个消费者组织处理)。您可以将分区视为原子,并且不能分割。

如果您将non-prod和prod env配置为每个主题具有相同数量的分区,那么应该可以帮助您在转移到prod之前找到正确数量的conumser并捕获问题。