如果主题有4个分区,并且发布者向主题发送消息,那么是否会在所有四个分区中复制相同的消息,还是只复制一个?
分区和复制是两回事.
分区是为了可扩展性.主题在分布在不同代理上的一个或多个分区中进行分区,以便更多的消费者可以连接到这些代理,以便接收发送到同一主题但来自不同分区的消息.增加分区可以提高可伸缩性,并且可以让更多的消费者从同一主题获取消息.回答你的问题,发送给主题的每条消息只进入一个分区(主题本身).
复制是为了容错.您可以在主题创建时指定复制因子,这意味着该主题的每个分区都会在不同的代理上复制多次.一个副本是生产者发送和消费者获取消息的"领导者"; 其他副本是"追随者",其中包含来自"领导者"副本的消息副本.如果处理"领导者"副本的经纪人失败,其中一个"追随者"成为领导者.