参考: https://developer.aliyun.com/article/712456
可以梳理一下完美解决 “账单变更 Case” 需要解决的关键点:
- 必须满足“一致性”要求,即账单服务数据库变更事务提交成功,风险控制服务和短信通知服务收到“账单变更”消息;账单服务数据库变更事务回滚,风险控制服务和短信通知服务不会收到“账单变更”消息。
- “账单变更”消息发布失败,尽量避免导致数据库变更事务的回滚。
为了解决以上描述的两个需求,消息队列需要提供一种特殊类型的消息:消息队列收到消息后不会立刻投递消息到消息订阅者,而是根据消息发布者应用的数据库事务状态决定消息是否投递。如果数据库事务提交,则消息投递到订阅者;反之则不投递。此类消息被命名为 “事务型消息”。
支持事务型消息: RocketMQ
标签:事务,账单,数据库,投递,消息,变更 From: https://www.cnblogs.com/clarino/p/17550189.html