Storm概念学习系列之事务

本文涉及的产品
云原生网关 MSE Higress,422元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
简介:

事务

  这里的事务是专门针对Topology提出来的,是为了解决元组在处理失败重新发送后的一系列问题的。简而言之,事务拓扑(transactional topology)就是指Storm以并行和顺序处理混合的方式处理元组,一方面是处理消息,将消息分为一批批,并行处理同一批内的消息以及批与批之间的消息;另一方面是提交消息,按严格的顺序提交,总之实现对消息精确的处理


(1)事务拓扑的特点
事务性拓扑这一特性使消息在语义上确保能够以安全的方式重发消息,并保证它们只被处理一次。在不支持事务性拓扑的情况下,无法在保证准确性、可扩展性、容错性的前提下完成计算。
(2)事务拓扑的目的
事务拓扑的目的是满足对消息处理有着极其严格要求的场景,如实时计算某个用户的页面点击次数,要求结果完全精确。
(3)事务拓扑的原理
事务拓扑是Storm 0.7引入的特性,0.8之后版本已经被封装为Trident,提供了更加方便和直观的接口。
Storm的事务拓扑是完全基于底层的Spout/Bolt/Acker原语实现的,通过一层巧妙的封装得出一个优雅的实现,这也是Storm最大的魅力之一。
Storm使用ZooKeeper储存事务元数据,默认就是拓扑使用的ZooKeeper。可以通过修改transactional.zookeeper.servers和transactional.zookeeper.port配置参数键指定其他的ZooKeeper。
在使用事务性拓扑时,数据源要能够重发,有时候甚至要重复多次,因此需要确认数据源Spout是否具备这项能力。


本文转自大数据躺过的坑博客园博客,原文链接:http://www.cnblogs.com/zlslch/p/5989741.html,如需转载请自行联系原作者

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
7月前
|
存储 人工智能 安全
经验大分享:Storm概念学习系列之Blot消息处理者
经验大分享:Storm概念学习系列之Blot消息处理者
46 0
|
消息中间件 RocketMQ 索引
基于消息中间件,图解柔性事务一致性
在核心业务处理完成之后,发送消息通知,允许失败,在指定时间段内或者指定重试次数之后,允许消息丢失情况存在,即消息的不可靠性。
279 14
基于消息中间件,图解柔性事务一致性
|
SQL 数据库 数据库管理
事物的ACID是指什么?
事物的ACID是指什么?
|
SQL 消息中间件 存储
分布式事物:第一章:分布式事物简介
分布式事物:第一章:分布式事物简介
190 0
|
数据库 流计算
那个男人竟然不会Flink的CheckPoint机制(一)
这篇来讲Flink另一个比较重要的知识,就是它的容错机制checkpoint原理。
378 0
那个男人竟然不会Flink的CheckPoint机制(一)
|
存储 消息中间件 缓存
那个男人竟然不会Flink的CheckPoint机制(二)
这篇来讲Flink另一个比较重要的知识,就是它的容错机制checkpoint原理。
317 0
那个男人竟然不会Flink的CheckPoint机制(二)
|
算法
一分钟了解两阶段提交协议/算法(分布式理论基础)
2PC效率很低,分布式事务很难做。
552 0