kafka高可用架构

2022-04-07  本文已影响0人  松松木tell

作为一个非常优秀的消息中间件,kafka如何做到高可用的,我们可以一起看看它的架构。

1、多分区,多副本设计

image.png

我们知道鸡蛋是不能放在同一个篮子的,那消息同样也如此。在kafka里有一个核心的概念叫做topic,类似于一个数据集合,我们所有的消息都是在topic里。

2、kafka如何保证数据不丢失

从上面的架构来看,什么情况下会丢数据?当我们写数据时一般都是往leader写数据,但如果这个时候leader挂了,follower还没来得及同步数据,那这时候数据就丢失了。

kafka的核心ISR机制

要弄懂数据丢失的问题,我们得先知道ISR。简单来说kafka会自动给每个partition维护一个ISR列表。这个列表中一定会有一个leader,同步包含一个跟leader数据一致的follower。如果follower因为某种原因数据不一致了就会被踢出去。

上一篇 下一篇

猜你喜欢

热点阅读