kafka高可用设计

 一、集群:

       

 

Kafka 的服务器端由被称为 Broker 的服务进程构成,即一个 Kafka 集群由多个 Broker 组成

这样如果集群中某一台机器宕机,其他机器上的 Broker 也依然能够对外提供服务。这其实就是 Kafka 提供高可用的手段之一

 

二、备份机制

          

Kafka 中消息的备份又叫做 副本(Replica)

Kafka 定义了两类副本:

  领导者副本(Leader Replica)

  追随者副本(Follower Replica)

         

ISR(in-sync replica)需要同步复制保存的follower

如果leader失效后,需要选出新的leader,选举的原则如下:

  第一:选举时优先从ISR中选定,因为这个列表中follower的数据是与leader同步的

  第二:如果ISR列表中的follower都不行了,就只能从其他follower中选取

 

极端情况,就是所有副本都失效了,这时有两种方案

   第一:等待ISR中的一个活过来,选为Leader,数据可靠,但活过来的时间不确定

  第二:选择第一个活过来的Replication,不一定是ISR中的,选为leader,以最快速度恢复可用性,但数据不一定完整

 

posted @ 2023-07-06 15:18  佛系粥米  阅读(101)  评论(0编辑  收藏  举报