如果有多个服务器访问单个主题,kafka是否确保对每条记录进行一次精确处理

时间:2019-06-25 14:49:35

标签: apache-kafka

我将有10台服务器,它们将访问单个kafka主题。我应如何确保每台服务器(消费者)将有不同的记录要由服务器处理。 我将运行10个或更多代码实例。因此,每个实例都将充当消费者。

1 个答案:

答案 0 :(得分:0)

根据Kafka消费者组协议,可以确保在同一消费者组之间不会共享两个分区。

这意味着,如果在一个主题上有10个以上的分区,并且10个服务器中的每个服务器共享相同的group.id使用者设置,那么每个服务器都会获得不同的事件,尽管不一定是唯一事件< / em>

如果该主题中的分区少于10个,则在其他服务器之一崩溃之前,空闲服务器将不读取任何内容。

关于一次,您必须禁用自动提交,自己管理偏移量管理,并查看有关事务生产者的文档,并查看有关isolation.level使用者设置的文档...否则,您将至少一次交货