看来Kafka只允许使用者从leader
代理(运行领导分区的代理)中提取消息。 followers
仅与leader
同步,并且使用者无法从followers
读取消息。
为什么不让消费者也从followers
提取消息?
我认为,如果使用者可以从followers
读取消息,则可以平衡负载以从所有代理服务器读取消息,并且整个系统的性能应该更好。假设leader
太忙,并且leader
的带宽成为瓶颈。如果我们可以从followers
中提取消息,则性能应该会更好。
最佳答案
在仅Kafka的领导者分区中没有领导者经纪人。一个主题由1个或多个分区组成。 Kafka代理具有多个分区,其中一些是领导者,而某些则是集群中其他Kafka代理上的分区的副本。这样,每个代理都有一些活动分区,因此,一个代理上的一个繁忙分区不会对其余分区的其他分区的性能造成较大的负面影响。