我将有10台服务器,它们将访问单个kafka主题。我应如何确保每台服务器(消费者)将有不同的记录要由服务器处理。 我将运行10个或更多代码实例。因此,每个实例都将充当消费者。
答案 0 :(得分:0)
根据Kafka消费者组协议,可以确保在同一消费者组之间不会共享两个分区。
这意味着,如果在一个主题上有10个以上的分区,并且10个服务器中的每个服务器共享相同的group.id
使用者设置,那么每个服务器都会获得不同的事件,尽管不一定是唯一事件< / em>
如果该主题中的分区少于10个,则在其他服务器之一崩溃之前,空闲服务器将不读取任何内容。
关于一次,您必须禁用自动提交,自己管理偏移量管理,并查看有关事务生产者的文档,并查看有关isolation.level
使用者设置的文档...否则,您将至少一次交货