Apache kafka Kafka分区的多个使用者

Apache kafka Kafka分区的多个使用者,apache-kafka,kafka-consumer-api,Apache Kafka,Kafka Consumer Api,我有一个将消息写入主题/分区的生产者。为了保持顺序,我希望使用单个分区,我希望12个使用者读取来自这个分区的所有消息(没有使用者组,所有消息都应该发送给所有使用者)。这是可以实现的吗?我读过一些论坛,每个分区只有一个用户可以阅读 您可以使用SimpleConsumer来准确地实现您的要求-没有消费者组,所有消费者都可以读取单个分区。然而,这种方法意味着您必须自己处理偏移量存储和代理故障 另一种选择是将高级使用者与不同的使用者组一起使用(您可以只为每个使用者分配一个随机UUID)。通过这种方式,您

我有一个将消息写入主题/分区的生产者。为了保持顺序,我希望使用单个分区,我希望12个使用者读取来自这个分区的所有消息(没有使用者组,所有消息都应该发送给所有使用者)。这是可以实现的吗?我读过一些论坛,每个分区只有一个用户可以阅读

您可以使用
SimpleConsumer
来准确地实现您的要求-没有消费者组,所有消费者都可以读取单个分区。然而,这种方法意味着您必须自己处理偏移量存储和代理故障

另一种选择是将高级使用者与不同的使用者组一起使用(您可以只为每个使用者分配一个随机UUID)。通过这种方式,您将能够与所有使用者一起使用一个主题/分区,并能够提交偏移量和处理代理中断


“只有一个消费者可以使用一个主题/分区”规则仅适用于消费者组,例如,组中只有一个消费者可以同时使用一个主题/分区。

如果在同一分区上有多个消费者,则它超出了您维持订购的初始要求。
虽然,您可能已经订购了存储,但消耗量将是未订购的。一定要确保你真的同意。如果是,您可以将每个消费者视为不同的消费者群体

如果我为每个消费者使用唯一的消费者groupid,我将从单个分区读取每个客户的所有消息?例如在代码中。。props.put(“group.id”,KafkaProperties.groupId);是的,如果您的主题有一个分区,其中包含1000条消息,那么具有不同消费者组的所有消费者将分别读取1000条消息。您能否给出一些方法1(处理偏移量和代理失败者)和方法2(为每个消费者分配randow uui)的示例?关于第一种情况,它太宽泛了,无法写入-这在很大程度上取决于您是否应该提交补偿,以及在代理失败时是否能够持久(例如,当代理死亡时应该发生什么)。一般来说,我建议使用第二种方法,只需使用如下groupid:
props.put(“group.id”,UUID.randomuid().toString())
谢谢您的评论