Storm消息容错机制(ack-fail机制)

发布时间:2021-12-05 22:33:02

storm消息容错机制(ack-fail)


1、介绍


在storm中,可靠的信息处理机制是从spout开始的。一个提供了可靠的处理机制的spout需要记录他发射出去的tuple,当下游bolt处理tuple或者子tuple失败时spout能够重新发射。 Storm通过调用Spout的nextTuple()发送一个tuple。为实现可靠的消息处理,首先要给每个发出的tuple带上唯一的ID,并且将ID作为参数传递给SpoutOutputCollector的emit()方法:collector.emit(new Values("value1","value2"), msgId); messageid就是用来标示唯一的tuple的,而rootid是随机生成的。

给每个tuple指定ID告诉Storm系统,无论处理成功还是失败,spout都要接收tuple树上所有节点返回的通知。如果处理成功,spout的ack()方法将会对编号是msgId的消息应答确认;如果处理失败或者超时,会调用fail()方法。


2、基本实现


Storm 系统中有一组叫做"acker"的特殊的任务,它们负责跟踪DAG(有向无环图)中的每个消息。


acker任务保存了spout id到一对值的映射。第一个值就是spout的任务id,通过这个id,acker就知道消息处理完成时该通知哪个spout任务。第二个值是一个64bit的数字,我们称之为"ack val", 它是树中所有消息的随机id的异或计算结果。


ack val表示了整棵树(tuple树)的的状态,无论这棵树多大,只需要这个固定大小的数字就可以跟踪整棵树。当消息被创建和被应答的时候都会有相同的消息id发送过来做异或。?每当acker发现一棵树的ack val值为0的时候,它就知道这棵树已经被完全处理了。



?


3、可靠性配置


有三种方法可以去掉消息的可靠性:


将参数Config.TOPOLOGY_ACKERS设置为0,通过此方法,当Spout发送一个消息的时候,它的ack方法将立刻被调用;


Spout发送一个消息时,不指定此消息的messageID。当需要关闭特定消息可靠性的时候,可以使用此方法;


最后,如果你不在意某个消息派生出来的子孙消息的可靠性,则此消息派生出来的子消息在发送时不要做锚定,即在emit方法中不指定输入消息。因为这些子孙消息没有被锚定在任何tuple tree中,因此他们的失败不会引起任何spout重新发送消息。


?



转载于:https://www.cnblogs.com/ahu-lichang/p/6904635.html

相关文档

  • 提心吊胆的反义词
  • 会计暑假实践报告日记
  • 结婚碰到红沙日怎么办
  • 情侣头像
  • 由对称性知定点一定在x轴上_圆锥曲线解答题的经典答案:由椭圆的对称性知,定点在x轴上?...
  • 苹果11好还是苹果12mini好
  • 有关肚皮舞能减肥的论述
  • 【算法】求n的m次方(快速幂取模)
  • 四张彩票
  • 霸气的微信网名女人
  • 有哪些考研后才明白的道理考研后才明白的道理
  • 描写万里长城的散文欣赏
  • 宝宝补钙 补钙要补得合适宝宝如何科学补钙?
  • 雅思写作话题范文:幸福是什么
  • 2020年中国人民大学北京高考录取分数线
  • 离别老师祝福语大全合集
  • 怎么查看安卓系统的手机的MAC地址
  • 诗句的说说心情
  • 急性胃炎和慢性胃炎有什么区别
  • 怎么样把一个储存卡里的东西转到另一个储存卡里
  • 冬天敷面膜太冷怎么办冬天敷面膜要不要加热
  • 念奴娇《梅》阅读鉴赏
  • Word2016图片大小怎么设置?Word2016精确编辑图片尺寸教程
  • 针对javascript回调函数传参数的简单实例(转自百度知道)
  • 参加播音主持艺考的自我介绍
  • 板鞋怎么洗
  • 丰收的季节秋天手抄报
  • 凡人修仙传中韩立有几个女人(女主角老婆)
  • 孔子创办私学主张什么
  • 小学生表扬信范本
  • 猜你喜欢

  • 【推荐】新兴小学2017年人教版四年级上册数学期中试卷
  • 中小企业的发展瓶颈与竞争力提升讲义
  • 行风评议承诺书范文
  • 愚人节用信息整同学的方法
  • Linux中目录与文件的权限意义
  • 卡通猴子的简笔画图片
  • 污泥脱水机房操作细则
  • 手机打不了电话怎么办
  • 海岛微网的主从控制策略研究
  • 中西医结合治疗桡骨远端粉碎性骨折56例临床观察
  • 家常小菜大赏:五花肉配鱿鱼,不一样的美味推荐
  • 《雷锋日记》读后感_小学四年级作文200字
  • 二年级作文200字:我们的课余生活
  • 广西中科点击大数据科技有限公司(企业信用报告)- 天眼查
  • 军训总结主题班会的演讲稿_策划书.doc
  • 随车工具项目可行性研究报告申请报告
  • 《心理测量》实验报告
  • 2018新苏教版国标本二年级下册语文《鸟岛》第二课时教学设计
  • 新安县富凯工贸有限公司企业信用报告-天眼查
  • *面汇交力系教案
  • 车辆个人租赁合同范本
  • 液压机操作安全规程
  • python字符串模糊匹配_python匹配字符
  • 【精品】201X入党申请书规范版本-word格式 (2页)
  • 新型玻璃_五年级作文_2
  • 内蒙古嘉腾文化传媒有限公司企业信息报告-天眼查
  • vector 类中的 push_back( ) 函数
  • 第三章 国际物流与国际贸易
  • WindowManager.LayoutParams学习笔记
  • 程序设计精品课程在线考试系统
  • 2019年北师大版一年级语文下册第三单元提升练*题及答案
  • 新课程高考北京考试大纲世界史(表格版)
  • 男人出轨后为什么不碰老婆男人不碰老婆的心理
  • 精品八年级语文上册第四单元17蓝蓝的威尼斯备课资料素材苏教
  • 讲政治、严纪律、强作风、促提升”心得体会
  • 芭比娃娃_小学五年级作文500字
  • 中学生英语日记:我有一个梦想
  • XX街道办党风廉政建设工作总结分析
  • 《激战》主副职业巧搭配
  • 2011届高三历史上册期末模块考试试卷2
  • 油浸式电力变压器绝缘故障分析
  • 营养与保健第一章 绪论 PP课件
  • 电脑版