【Kafka面试】Kafka的高可用机制有了解吗?

一、集群模式

【Kafka面试】Kafka的高可用机制有了解吗?_第1张图片

  • Kafka集群由多个broker组成,每个broker就是Kafka实例。
  • 假如某个broker宕机,在集群中其他的broker依然可以对外提供服务,这个就是集群能够保证高可用性。

二、分区备份机制

【Kafka面试】Kafka的高可用机制有了解吗?_第2张图片

  • 分区提供了副本机制,一个分区可能存在多个副本,并且这些副本分别存储在不同的broker中
  • leader副本对外提供读写数据,同一个分区下的所有副本存储的内容是一样的。由leader负责把数据同步给其他follower。
  • 当某个分区的leader所在的broker宕机了,就会从其他的broker的follower中选举一个成为新的leader,继续对外服务。这样保证了系统的容错性和高可用性。

1. follower分类

【Kafka面试】Kafka的高可用机制有了解吗?_第3张图片

  • ISR副本:in-sync-replica,需要同步复制保存的follower副本。标名为ISR的副本,leader在同步数据时,以同步请求方式。同步请求的数据更具有完整性,
  • 普通副本:普通副本,leader在同步数据时,以异步请求方式。异步请求无法保证完整性。
  • 如果leader宕机了,肯定是ISR中的副本更加接近leader中的数据

2. leader宕机,新的leader选举原则

【Kafka面试】Kafka的高可用机制有了解吗?_第4张图片

  • ISR配置:在broker配置中,可以设定topic副本数量和ISR最少个数。根据实际情况设置。
  • ISR同步保存数据,性能不高,一般至少会设置1个ISR列表,其他的尽量设置为普通副本。保证高可用的前提下,数据的时效性
  • 选举时优先从ISR中选定,因为这个列表中的follower的数据是与leader同步的。
  • 如果ISR列表中的follower都不行了,就只能从其他的普通follower中选取。

三、总结

【Kafka面试】Kafka的高可用机制有了解吗?_第5张图片
在这里插入图片描述

四、模拟面试

【Kafka面试】Kafka的高可用机制有了解吗?_第6张图片

你可能感兴趣的:(Kafka,kafka)