[关闭]
@Alpacadh 2022-09-18T17:20:26.000000Z 字数 488 阅读 252

集群

kafka


1、如何实现高可用

同一个 Partition 可能会有多个 Replica(对应 server.properties 配置中的 default.replication.factor=N)。没有 Replica 的情况下,一旦 Broker 宕机,其上所有 Partition 的数据都不可被消费,同时 Producer 也不能再将数据存于其上的 Partition。

引入 Replica 之后,同一个 Partition 可能会有多个 Replica,而这时需要在这些 Replica 之间选出一个 Leader,Producer 和 Consumer 只与这个 Leader 交互,其它 Replica 作为 Follower 从 Leader 中复制数据。

2、如何分配 Replica

为了起到备份的效果,简单设想下,如果让我们来分配replica,我们会怎么分配?
1)replica与所备份的节点不能再一台机器上,否则就起不到备份的效果
2)replica尽量均匀的分布在集群机器上,如果replica全部都在某几台机器上,那么一旦这台机器挂了,会丢失多个partition的备份。

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注