如何落地最终一致性事务

AI-摘要
DeepSeek GPT
AI初始化中...
介绍自己 🙈
生成本文简介 👋
推荐相关文章 📖
前往主页 🏠
前往爱发电购买
如何落地最终一致性事务
liuzhihang作业:如果对自己的系统落地最终一致性事务,如何落地实现?
- 首先熟悉自己负责的业务, 熟悉系统间交互流程, 哪些可以异步, 哪些是必须同步
- 异步的时候要考虑是否需要一致性, 当前系统通知流程如图
如何落地最终一致性事务
根据课程思考最终一致性事务修改:
- 在收到交易请求, 成功时可以 commit half message
- 同时 需要实现 check方法, 供RocketMQ回调, 检查本地事务状态
- 在交易成功或失败时再进行commit或rollback
- rollback消息 RocketMQ会定期删除
- 通知系统收到消息存储到本地并通知商户
问题
但是考虑到在这边系统完全没有必要增加事务, 因为发送消息到MQ是在交易结束后, 直接用一个字段判断状态, 然后用定时保证投递到MQ即可.
1 | RocketMQ的两段提交 half message |
可以改成
1 | 执行流程 |
在这边的使用场景中, 因为提交了 half message 也不会发送消息, 等到流程执行结束了, 然后使用send发送普通消息即可.
评论
匿名评论隐私政策
✅ 你无需删除空行,直接评论以获取最佳展示效果