多用户模式的生产者

时间:2019-02-05 12:00:02

标签: apache-kafka

我们有一个调度程序,它接收消息-然后将其“散布”到多个下游环境中。
每组下游环境都需要使用此消息。
用不同的组标记不同的环境集是否足够?ID强制所有环境使用同一条消息(1个生产者-多个订户广播)。
如果某个特定的环境(组)崩溃了,是否可以仅将消息重播到该特定的组?

2 个答案:

答案 0 :(得分:1)

是的,通常这就是您实现这种数据流的方式。

如果您有多个订阅相同主题的使用者组,则他们将使用所有消息。如您所说,您使用group.id配置来标识每个消费者组。

此外,每个消费者组都跟踪自己的偏移量。因此,您可以轻松地使特定的组重播成为日志的一部分,而不会影响其他组。例如,可以通过使用带有重置选项之一的kafka-consumer-groups.sh工具来实现此目的。

答案 1 :(得分:1)

是的,这就是卡夫卡的工作方式。只要将主题的保留时间配置为这样,那么任何特定的使用者组都可以从日志中的任何偏移量中重新使用,而不管它是从其成功读取的起点还是终点。其他所有消费者均不受影响。