带你读《企业级云原生白皮书项目实战》——6.3.3 RocketMQ 事务消息的金融应用场景(3)

简介: 带你读《企业级云原生白皮书项目实战》——6.3.3 RocketMQ 事务消息的金融应用场景(3)

《企业级云原生白皮书项目实战》——第六章 云原生最佳实践——6.3 基于 RocketMQ 的基金数字化陪伴体系的架构实践——6.3.3 RocketMQ 事务消息的金融应用场景(2): https://developer.aliyun.com/article/1227787?groupCode=supportservice


6.3.3.5 RocketMQ 如何保证事务消息在消费端正常消费


消费端消费失败后,MQ服务端需要进行一定次数的重试,我们需要制定合理的重试策略。因为有消费重试,这要求消费方接口需要实现幂等性;如果重试多次后仍失败,我们会把消息压入死信队列DLQ,RocketMQ提供了死信队列的功能,对进入死信队列的消息进行告警处理。

image.png

图:消息可靠消费保障


6.3.3.6 事务消息的适用场景


第一类场景:需要同步执行的领域事件,比如说领域事件逻辑失败概率大,业务要及时将返回码告知客户端,自然不能放在异步流程中。举个例子,做过支付系统的小伙伴都知道,支付扣款前要检查余额是否足够,如果余额不足,那在异步流程中重试多少次都是失败。

第二类场景:是事务不可重入场景,例如业务系统发送消息时没有确定一个唯一事务 ID,那后续的业务逻辑就无法保证幂等,假设其中一个事务是创建订单,如果不能保证幂等的话,重试多次就会产生多个订单;所以这里需要使用到事务消息,用来明确一个分布式事务的开始,生成一个唯一事务ID,让后续的流程能以这个事务ID来保证幂等。

相关实践学习
RocketMQ一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
4月前
|
存储 缓存 关系型数据库
⑩⑧【MySQL】InnoDB架构、事务原理、MVCC多版本并发控制
⑩⑧【MySQL】InnoDB架构、事务原理、MVCC多版本并发控制
104 0
|
6月前
|
存储 监控 Cloud Native
云原生的应用场景
云原生的应用场景
102 0
|
21天前
|
存储 Java 应用服务中间件
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
【分布式技术专题】「架构实践于案例分析」盘点互联网应用服务中常用分布式事务(刚性事务和柔性事务)的原理和方案
43 0
|
7月前
|
分布式计算 Cloud Native 物联网
云原生应用的应用场景
云原生应用的应用场景
113 0
|
3月前
|
人工智能 运维 Cloud Native
|
8月前
|
人工智能 Cloud Native 异构计算
ACK 云原生 AI 套件应用场景测评
ACK 云原生 AI 套件应用场景测评
110 1
|
10月前
|
Java 数据库连接 数据库
高效掌握JDBC技术(三)| 三层架构理念 | 书写符合事务特性的工具类 | JUnit测试框架 | JDBC项目开发步骤(下)
高效掌握JDBC技术(三)| 三层架构理念 | 书写符合事务特性的工具类 | JUnit测试框架 | JDBC项目开发步骤
75 1
|
10月前
|
运维 Cloud Native 安全
阿里云发布“金融级云原生”,持续推动金融机构IT架构升级
阿里云发布“金融级云原生”,持续推动金融机构IT架构升级
388 0
|
11月前
|
Serverless
《阿里云云原生Serverless产品手册》——函数计算FC——应用场景
《阿里云云原生Serverless产品手册》——函数计算FC——应用场景
365 0
《阿里云云原生Serverless产品手册》——函数计算FC——应用场景
|
11月前
|
Serverless
《阿里云云原生Serverless产品手册》——Serverless 应用引擎——应用场景
《阿里云云原生Serverless产品手册》——Serverless 应用引擎——应用场景
119 0

热门文章

最新文章