# demo-codes **Repository Path**: logan1987/demo-codes ## Basic Information - **Project Name**: demo-codes - **Description**: No description available - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 6 - **Created**: 2024-12-12 - **Last Updated**: 2024-12-12 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 分布式调用的简单解决方案,实际有很多细节 https://juejin.cn/post/7302308334203486245 feat:任务表设计可以优化下,每次都取出去判断不符合跳过在量少的时候不明显。我通常增加一个processTm, 存储下次重试时间 问:这个就是分布式事务的消息表。但作者貌似有个场景没考虑,比如第三方接口返回超时,此时本地事务回滚,但实际情况可能是第三方系统数据写成功了,这样属于本地单据没有,第三方系统有单据或流程通过了。 答:这种情况,需要在业务实现类里做处理:方案1、三方系统提供查询接口,获取处理结果,如果是超时场景,就直接结束。 方案2、三方系统做幂等 问:感觉你这个方案只是假设被调用服务错误,这里指的错误是服务宕机等导致错误,所以采用重试来使他执行成功,那如果被调用服务是可捕获异常咋办呢,这样就导致每一次重试都失败,这时候应该回滚整个事务吧,包括所有的被调用服务都应该回滚,文章里没有提到这块啊。 答:下游请求失败重试+报警。默认下游无限重试可成功,异常则需要人工处理优化流程。一般我这么搞的。