面试官让我聊聊 MQ 的数据丢失问题,没想到水这么深。。。

文章探讨了Kafka如何确保写入数据不丢失,介绍了Kafka的分布式存储架构,使用Partition和副本实现数据分布和冗余。重点讲解了Kafka的ISR机制,以及要求至少一个Follower与Leader保持同步以防止数据丢失的策略。通过确保每次写入至少有一个ISR内的Follower成功写入,来保证高可用性和数据完整性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

  • 一、背景引入
  • 二、Kafka分布式存储架构
  • 三、Kafka高可用架构
  • 四、画图复现Kafka的写入数据丢失问题
  • 五、Kafka的ISR机制是什么?
  • 六、Kafka写入的数据如何保证不丢失?
  • 七、总结

一、背景引入

这篇文章,给大家聊一下写入Kafka的数据该如何保证其不丢失?

看过之前的文章《字节面试官: 让你设计一个MQ每秒要抗几十万并发,怎么做?》的同学,应该都知道写入Kafka的数据是会落地写入磁盘的。

我们暂且不考虑写磁盘的具体过程,先大致看看下面的图,这代表了Kafka的核心架构原理。

在这里插入图片描述

二、Kafka分布式存储架构

那么现在问题来了,如果每天产生几十TB的数据,难道都写一台机器的磁盘上吗?这明显是不靠谱的啊!

所以说,这里就得考虑数据的分布式存储了,其实关于消息中间件的分布式存储以及高可用架构,之前的一篇文章《程序员别死背面试八股文了,这种面试题才是未来主流。。。》也分析过了,但是这里&#

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值