博时基金基于 RocketMQ 的基金数字化陪伴体系的架构实践
1
行业背景
2
RocketMQ 在陪伴体系中的应用
1. 陪伴场景概述
2. RocketMQ 解耦异构系统
3. Topic 和 Tags 最佳实践
3
RocketMQ 事务消息的金融应用场景
1. 金融场景概述
2. 领域事件理论模型
3. 分布式事务方案对比
-
第一种方案:最常见普通消息+异步对账,这个方案的问题是无法保证主事务的执行和入队同时成功,需要时效性低的对账补偿解决,一致性只是较高。 -
第二种方案:本地消息表,对比上一种做法,它由业务将写入消息表放到主事务中,把主事务和入队变成一个原子操作,然后业务读取入队记录,自己投递给从事务。它的缺点是主事务和消息表在存储上是耦合的,没有解耦度。 -
第三种方案:引入 XA 事务,是个两阶段提交的协议,实现难度较大。而且面临两个问题:一是这是一种同步阻塞协议,有锁占用导致并发不会太高,另外就是 XA 事务过程中,在参与者投赞成票后,如果协调者发生故障,节点不清楚应该提交还是中止,只能等待协调者恢复。这时候可能会出现业务中断。 -
第四种方案:TCC,专门处理分布式事务的 TCC,只侧重于一致性,无解耦度,也是不可行。 -
第五种方案:事务消息,它能同时兼顾解耦度和一致性,是最合适的模式。
4. RocketMQ 事务消息核心流程
-
第一阶段:Prepare 阶段 ,即业务系统将 RocketMQ 的半事务消息发送到事务中心,事务中心不做发布,等待二次确认。这个阶段 RocketMQ 的半消息在消费者端是感知不到的。 -
第二阶段:业务系统执行主事务,即购买货币基金。 -
第三阶段:主事务成功后 commit 到事务中心,由事务中心投递消息到从事务。如果主事务失败,就投递 rollback 给事务中心。这里需要两阶段提交的原因是:普通的入队操作无论放在主事务之前还是之后都无法保证最终一致。如果先执行主事务,再入队,那么可能在入队前,业务会宕机,就没有机会再入队了。如果先入队再执行主事务,那么可能主事务没有执行成功,但是从事务执行成功了,业务逻辑就会发生错乱。
5. RocketMQ 如何保证事务消息在消费端正常消费
6. 事务消息的适用场景
4
未来规划
5
加入 Apache RocketMQ 社区
本文分享自微信公众号 - RocketMQ官微(ApacheRocketMQ)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
初探JavaScript PDF blob转换为Word docx方法
PDF转WORD为什么是历史难题 PDF 转Word 是一个非常非常普遍的需求,可谓人人忌危,为什么如此普遍的需求,却如此难行呢,还得看为什么会有这样的一个需求: PDF文档遵循iOS32000的规范是由Adobe 公司推出的文档格式,之所以应用如此广泛,是因为PDF精确定位了每个字符的坐标、根据坐标绘制的各种形状,使用PDF格式传输和打印文档可以保证格式的一致性,然后很多PDF文件是可用于阅读,展示,打印,但编辑起来是非常困难,如格式调整,文字修改,样式调整等,那么就衍生了PDF 转Word这一历史性的需求,但因为两者之间采用的编码规范以及布局机制的完全不一致,导致转换起来会非常复杂,一般的工具不是格式错乱,就是内容错乱,很难达到客户的原生期望。 其难点在于建立从PDF基于元素位置的格式到Word基于内容的格式的映射。PDF文档实际并不存在段落、表格的概念,PDF转Word要做的就是将PDF文档中“横、竖线条围绕着文本”解析为Word的“表格”将“文本及下方的一条横线”解析为“文本下划线”等等。 两个工具两套规则,自古以来两个工具之间的兼容转换,除非是为一家所有,会有通用的标准和接口...
- 下一篇
飞桨联邦学习框架PaddleFL新升级,实现纯两方安全计算协议
伴随着智能化时代的迈进,AI 无处不在,万事皆可智能化,很多企业走到了时代的风口,也不断有着更多的企业想跻身队伍,跨上 AI 大时代的战车。大家都深知人工智能的三大基石是:算法、算力与数据。传统企业有着丰富的数据基础,却缺乏技术能力;新型企业的技术能力紧跟时代步伐却苦于数据贫瘠。算力可以花钱买到,算法可以通过培养招聘技术人才来补齐,但是数据匮乏却使人在人工智能赛道上举步维艰。 在国内外监管环境日渐完善的今天,大家都在加强数据保护意识,很多有巨大价值的数据即使在公司内部都无法流通,从而形成数据孤岛。随着《数据安全法》和《个人信息保护法》的相继施行,数据在安全合规的前提下自由流动,成了大势所趋,这也让联邦学习再次掀起一波浪潮。 百度飞桨开发了基于飞桨核心框架的开源联邦学习框架 PaddleFL,让企业之间的合作能够在数据层面安全开展。开发人员很容易在大规模分布式集群中部署 PaddleFL 联邦学习系统。PaddleFL 提供多种联邦学习策略(横向联邦学习、纵向联邦学习)及其在计算机视觉、自然语言处理、推荐算法等领域的应用。 最近,PaddleFL 新版本 PaddleFL v1.1.2 ...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7设置SWAP分区,小内存服务器的救世主
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- SpringBoot2全家桶,快速入门学习开发网站教程
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装