使用 Kafka 考虑的问题

博客讨论了在使用Kafka时可能出现的数据丢失场景,包括Producer到Broker的发送过程中、Broker内部的存储阶段,以及磁盘异步刷盘可能导致的数据丢失。为了防止丢消息,建议使用带有回调的API进行发送,并在业务层面实现重试机制。同时,集群环境下Broker挂掉未同步数据也是数据丢失的一个因素。
摘要由CSDN通过智能技术生成

2a774689202123ec586bc4459502da19.png

若有收获,请记得分享和转发哦

面试官:今天我想问下,你觉得Kafka会丢数据吗?

候选者:嗯,使用Kafka时,有可能会有以下场景会丢消息

候选者:比如说,我们用Producer发消息至Broker的时候,就有可能会丢消息

候选者:如果你不想丢消息,那在发送消息的时候,需要选择带有 callBack的api进行发送

候选者:其实就意味着,如果你发送成功了,会回调告诉你已经发送成功了。如果失败了,那收到回调之后自己在业务上做重试就好了。

候选者:等到把消息发送到Broker以后,也有可能丢消息

候选者:一般我们的线上环境都是集群环境下嘛,但可能你发送的消息后broker就挂了,这时挂掉的broker还没来得及把数据同步给别的broker,数据就自然就丢了

候选者:发送到Broker之后,也不能保证数据就一定不丢了,毕竟Broker会把数据存储到磁盘之前,走的是操作系统缓存

候选者:也就是异步刷盘这个过程还有可能导致数据会丢

8ffb82032e0ca25114ddf1537c2569d1.png

3128b2f6fe0fb494b8f51196d2afa990.png

273459473c53ed81ca399170ecb70ced.png

77460fc7a8fdfbf3de60a11ca873b730.png

3cc498940a4d61aa70f5051f90018e1a.jpeg

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值