搜索
搜 索
本版
文章
帖子
用户
图文精华
hadoop-2.6.0+zookeeper-3.4.6+hbase-1.0.0+hive-1.1.0完全分布 ...
首页
Portal
专题
BBS
面试
更多
登录
注册
用户组:游客
主题
帖子
云币
我的帖子
我的收藏
我的好友
我的勋章
设置
退出
导读
淘贴
博客
群组
社区VIP
APP下载
今日排行
本周排行
本周热帖
本月排行
本月热帖
会员排行
About云-梭伦科技
»
专题
›
1分钟小知识
›
小知识分享区
›
Kafka
›
小知识点
›
什么是kafka消费消息时的幂等性
0
1
0
分享
什么是kafka消费消息时的幂等性
hyj
2019-12-19 21:56:45
发表于
小知识点
[显示全部楼层]
只看大图
阅读模式
关闭右栏
1
4669
1.什么是kafka消费消息时的幂等性
kafka消费消息时的幂等性,简而言之就是消费者对接口的多次调用所产生的结果和调用一次是是一致的,也就是说在kafka中有可能会消费到重复的数据,这个时候需要客户端去处理这种情况,使得消息消费一次和消费多次是一样的结果。
回复
使用道具
举报
提升卡
置顶卡
沉默卡
喧嚣卡
变色卡
千斤顶
显身卡
已有(1)人评论
电梯直达
正序浏览
hyj
发表于 2019-12-19 21:57:27
2.产生原因
数据流转:
生产者:生产者会往kafka中发送消息,kafka会给每条消息一个offset,代表这个数据的序号;
消费者消费消息,消费之后,会将offset的数据提交给kafka;
kafka根据zookeeper中存放的offset数据区确定需要发送那些数据给消费者;
容易出问题的环节:
由于消费者消费消息之后,来不及向系统提交offset数据,有可能这个时候,系统发生异常,导致系统直接宕机。此时zookeeper中存放的offset的数据是上一次提交的数据,所以不是最新的。
还有一个原因,由于消费者不是消费了一条数据之后,直接提交数据,而是批量的去提交,这个时候,如果是系统宕机,也是会导致zookeeper中存放的数据不是最准确的。
3. 解决办法
当消费者消费到了重复的数据的时候,消费者需要去过滤这部分的数据。主要有以下两种思路:
1.将消息的offset存在消费者应用中或者第三方存储的地方
可以将这个数据存放在redis或者是内存中,消费消息时,如果有这条数据的话,就不会去做后续操作
2.数据落库的时候,根据主键去过滤
在落库时,如果不不在这条数据,则去新增,如果存在则去修改
————————————————
原文链接:
https://blog.csdn.net/u011439839/article/details/90115573
回复
使用道具
举报
显身卡
高级模式
B
Color
Image
Link
Quote
Code
Smilies
您需要登录后才可以回帖
登录
|
立即注册
本版积分规则
发表回复
回帖后跳转到最后一页
发表新帖
hyj
超级版主
关注
1689
主题
2216
帖子
469
粉丝
TA的主题
ChatGPT上线了IOS app,很给力
2023-5-19
About云2023年05月19日每日一读
2023-5-19
数澜科技数据中台项目规范-V1.0.0
2023-5-18
现代数据架构
2023-5-18
12 个真正重要的数据质量指标
2023-5-18
24小时热文
矩阵分析引论罗家洪(第四版)
互联网大厂年终福利曝光:看看别人家老板怎
像高手一样发言:七种常见工作场景的说话之
携程允许员工春节回乡办公2个月
数据治理实施方案
关闭
推荐
/2
中文版ChatGPT
1.无需魔法 2.提高编程效率 3.提高文档能力
查看 »
新手帮助
新手帮助:注册遇到问题,领取资源,加入铁粉群,不会使用搜索,如何获取积分等
查看 »
意见
反馈