kafka复制因子小于代理计数



我创建了一个Kafka主题,复制因子为2,分区计数为1,代理计数为3。

如果所有3个代理都被指定为使用者中的引导服务器,消息会被正确读取吗?

当消费者到达一个没有副本的节点时,消息是否会被消费?或者它不起作用?

Kafka代理之间正在进行内部通信。

这意味着,如果您的消费者只知道其中一个代理,它将与集群中的所有代理通信,以确定分区领导者位于哪个代理上。然后你的消费者将从该经纪人那里消费。

但是,在使用者配置bootstrap.servers中,通常最好不仅提供一个代理地址,而且提供多个甚至所有地址作为逗号分隔的列表。这样,即使其中一个经纪人倒闭,你的消费者仍然可以获取数据。

如果所有3个代理都被指定为使用者中的引导服务器,消息会被正确读取吗?

是。但是,每个分区都是位于其中一个代理上的分区领导者,因此您的消费者将只使用来自该代理的数据。

当消费者到达一个没有副本的节点时,消息是否不会被消费?

否。如上所述,代理程序正在相互通信,以确定分区领导者位于哪个代理程序上。

最新更新