软考论文记忆助手
押题正文
主题列表
常见问题
新建主题
同步论文
随机抽背
质量检查
导入语料
导出JSON
编辑论文点
所属主题:
论分布式事务及其解决方案
技术点/功能点名称
排序号
在论文中的作用
正文展开点
解决的问题
线上支付过程需要依赖第三方支付平台,支付回调可能出现延迟、重复或短暂失败,如果订单状态只依赖一次同步回调,就可能出现用户已经支付成功而平台订单仍停留在待支付状态的问题
为什么选择它
在支付确认和订单状态流转方面,我们采用补偿事务来满足外部支付结果延迟和异常恢复的要求
解决的方法
为解决这一问题,我们将支付流水和订单状态分开记录,并设计了定时补偿机制
效果
通过补偿事务,系统能够处理外部接口不稳定带来的状态不一致问题,提高了交易流程的可恢复性
不使用的劣势/风险
项目位置/技术/需求
在支付确认和订单状态流转方面,我们采用补偿事务来满足外部支付结果延迟和异常恢复的要求
具体的实现
具体做法是,支付模块接收到回调后先保存支付流水,再通知订单模块更新状态;对于长时间未收到回调或状态不一致的订单,由 xxl-job 定时扫描订单和支付流水,并根据支付平台查询结果执行补偿确认或关闭处理
例子
以支付成功但订单状态未更新为例,补偿任务会根据支付流水重新推动订单状态变更,并记录补偿过程供客服查询
记忆提示/背诵口诀
在支付确认和订单状态流转方面,我们采用补偿事务来满足外部支付结果延迟和异常恢复的要求 / 补偿事务
备注
保存修改
返回详情