我有一个生产者将消息写入主题/分区。为了保持排序,我想使用单个分区,我希望 12 个消费者从这个单个分区读取所有消息(没有消费者组,所有消息都应该发送给所有消费者)。这是可以实现的吗?我阅读了一些论坛,每个分区只有一个消费者可以阅读。
问问题
10065 次
2 回答
14
您可以使用SimpleConsumer
来实现您所要求的 - 没有消费者组,所有消费者都可以读取单个分区。然而,这种方法意味着您必须自己处理偏移存储和代理故障处理。
另一种选择是使用具有不同消费者组的高级消费者(您可以为每个消费者分配一个随机 UUID)。这样,您将能够与所有消费者一起使用一个主题/分区,并能够提交偏移量并处理代理中断。
“只有一个消费者可以消费一个主题/分区”的规则仅适用于消费组,例如只有一个消费者 IN GROUP 可以同时消费一个主题/分区。
于 2015-06-04T17:51:51.020 回答
1
如果您在同一个分区上有多个消费者,那么它会超出您维护排序的初始要求。虽然,您会订购存储,但消费将是无序的。请确保您对此非常满意。如果是,您可以将每个消费者视为不同的消费者群体。
于 2016-07-03T15:17:17.740 回答