Agent 连续调多个外部系统时,最麻烦的就是中间调用异常或者失败 比如一个订单自动化流程: 创建订单 预留库存 发起支付 生成交付任务 如果支付失败,数据… · @yunxi0623 · TwKit
@yunxi0623
Agent 连续调多个外部系统时,最麻烦的就是中间调用异常或者失败 比如一个订单自动化流程: 创建订单 预留库存 发起支付 生成交付任务 如果支付失败,数据库中的订单可能已经创建,库存也已经被占用 PostgreSQL ROLLBACK 也不会自动撤销所有第三方服务里的操作 数据库事务只会覆盖它实际管理的事务范围 我发现对于多个独立服务组成的业务流程,可以研究下Saga 补偿模式 除了定义正常执行动作还要考虑失败后需要执行什么补偿动作 就比如库存预留成功,支付失败后调用库存释放接口
曝光 25 · 评论 0 · 点赞 0 · 书签 0
查看原帖