欢迎来到 0713网站目录
登录

 

 

 

熟悉Apache 大数据开发技术栈的朋友都知道 Kafka 在大数据开发中的作用,所以面试中会遇到相关问题。

这个问题问的非常好,所以有必要记录一下。对从事大数据开发的工程师来说也可以借鉴。

Kafka通常用于两大类应用:

· 构建实时流数据管道,在系统或应用程序之间可靠地获取数据

· 构建转换或响应数据流的实时流应用程序

下图可以看到Kafka 可以用于应用程序与数据库之间消息流传递的桥梁,可用于软件服务系统,数据分析及监控系统。

Kafka消息队列的应用

所以传递消息的可靠性是其非常关键的特性,同时也是软件服务质量的保证。

什么时候会丢数据能?

Kafka流媒体平台是发布和订阅消息的构架,类似于消息队列或企业消息传递系统。

由 Producer(生产),Broker(存储)和(Consumer)消费三部分构成。

 

生产者与消费者

先看Producer 的特性怎么用会数据丢失呢?

1. 当属性中的确认(ACK)不是all。

  • acks = all -只有当所有消费者确认保存了消息时,才会返回ACK。--不会丢
  • acks = 1 -当leader消费者保存消息就返回ACK – 接收的leader如果确认后还没来得及备份就挂了丢数据
  • acks = 0 -不等待任何确认 – 接收方有问题时候丢数据

2. 当send后producer程序挂了丢数据(如果没用钩子,flush 也没来得及)

因为如下图所示 producer 先把数据放buffer里面,而且是异步的。Buffer里面的数据是内存中数据程序退出就没了。所以记得用钩子

 

Producer 中的 Buffer

下面是一个JAVA 8+关机钩子的例子:

 

钩子例子

总结:

其实这个问题遇到过,但是面试时候只想到了checkpoint 没有想到这里。

为什么呢?

只关注了自己最熟悉的方面来回答,并没有从系统构架上去思考

当我们把一个系统给它拆开分析的时候,就会有更多的思路,也就会有更全面的回答。

还有没有其它情况会丢数据呢?待续。

特别提示:

推荐

最新

最新文章

黄霄雲|人美歌甜,身材还这么好
习近平总书记重要讲话,全文来了!
discuz X3.2最新20141225安装包uc_server不能登陆问题(包括升级后)
虚拟主机乱码目录文件删除(适用Linux系统)
虚拟主机畸形病毒字体文件删除(适用windows系统)
𝗦𝗵𝗮𝗿𝗲 | 章若楠高清壁纸
虚拟主机批量替换文本内容
王楚然 | 第一梯队的身材和颜值
𝕾𝖍𝖆𝖗𝖊壁纸|是 陈都灵呀!
为什么分配的二级*.gotoip*.com访问提示风险?为什么不申述,如何处理?
陈都灵 | 勾人魂的颜值与身材
高德、百度地图到底用哪个?深度评测
强烈建议你多多暗示自己“我很棒”!结果你肯定猜不到
守护开学季,这份防诈指南请收好!
MAC OS 苹果系统如何安装FileZilla上传程序
五星红旗在天安门广场冉冉升起!
新生报到先学“反诈”!
FTP上传大文件时连接重置或者中断,重新连接上传也出现同样情况处理办法
开学第一课,反诈不缺席!请小学生和家长速来围观!
wordpress的WP-Mail-Bank插件替代mail函数安装配置方法

猜你想看

社保卡可以全国通用吗?
收藏!2022最新借条模版来了
女人都无法抗拒的20款香水,你入手了嘛?
新手司机想要开车不出事故?不难,只要做到这几点,危险已远离
春天来了,还没开始减肥、锻炼吗?推荐这组动作,一起来试试吧
汽车后面的字母是什么意思?看完终于知道了
如果房贷批不下来,首付款能退吗?
中国价值公司100新能源汽车排行榜 | 12家自主品牌 5家新势力突围
电热水器怎么选?关注要点不仅是容量,还有这两项
出门旅游不管住什么酒店,这3个房间要避开,“别碰”
微信公众号历史文章列表链接获取教程
公司调岗降薪,教你如何解决
3步学会用「异地医保」,为自己为爸妈做个准备
不吃晚饭=减肥?别傻了
让家中空气更健康 家用空气净化器怎么选择?
新手司机开车跑不直,方向跟着眼神偏,教练详解3个常见症结所在
装修到底应该选择木地板,还是选择地砖呢?
《八角笼中》点映票房破4亿 场均人次超《消失的她》
4种“老人花”,养一盆健康长寿,寓意好,空气清新,睡觉香
现代汽车与Aptiv合作推出名为Motional的自动驾驶汽车服务