题目
Kafka 的多副本机制了解吗?有什么好处
解释
类似问题如 “Kafka 的高可用性如何保证?”
答案
Kafka 为分区(Partition)引入了多副本(Replication)机制。分区(Partition)中的多个副本之间会有一个叫做 Leader 的角色,其他副本称为 Follower。我们发送的消息会被发送到 Leader,然后 Follower 才能从 Leader 中拉取消息进行同步。 **生产者和消费者只与 Leader 交互**。你可以理解为其他副本只是 Leader 的拷贝,它们的存在只是为了保证消息存储的安全性。当 Leader 发生故障时会从 Follower 中选举出一个 Leader。 **Kafka 的多分区(Partition)以及多副本(Replica)机制有什么好处呢?** 1. Kafka 通过给特定 Topic 指定多个 Partition,而各个 Partition 可以分布在不同的 Broker 上, 这样便能提供比较好的并发能力(**负载均衡**)。 2. Partition 可以指定对应的 Replication 数, 这也极大地提高了消息存储的安全性, 提高了容灾能力(**高可用性**),不过也相应的增加了所需要的存储空间。