我是初学者,并试图抓住卡夫卡。我从文档中读到,生产者和消费者对分区的请求都是在领导者副本上提供的。这是否意味着消费者无法从领导者的追随者那里读取内容。如果没有,为什么?我想如果我们能够从追随者那里读到它会改善更多的平行。对此的任何见解都会有很大的帮助。
答案 0 :(得分:3)
在当前设计中,追随者被动地以异步方式复制领导者。值得注意的是,并非所有副本始终与领导者保持同步,而只是其中的一部分,即同步副本(ISR)。您可以将所有副本指定为ISR,但出于性能考虑,这将影响生产者吞吐量。
如果客户端读取可由任何关注者处理,则会有两种可能的成本:1。Kafka必须确保所有副本在任何时候都包含完全相同的消息集,这是一项巨大的努力; 2.它大大减慢了生产者的速度,因为只有在所有复制品都承认之后,才能将消息视为“已提交”。