该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

分布式调用的简单解决方案,实际有很多细节

https://juejin.cn/post/7302308334203486245

feat:任务表设计可以优化下,每次都取出去判断不符合跳过在量少的时候不明显。我通常增加一个processTm, 存储下次重试时间

问:这个就是分布式事务的消息表。但作者貌似有个场景没考虑,比如第三方接口返回超时,此时本地事务回滚,但实际情况可能是第三方系统数据写成功了,这样属于本地单据没有,第三方系统有单据或流程通过了。 答:这种情况,需要在业务实现类里做处理:方案1、三方系统提供查询接口,获取处理结果,如果是超时场景,就直接结束。 方案2、三方系统做幂等

问:感觉你这个方案只是假设被调用服务错误,这里指的错误是服务宕机等导致错误,所以采用重试来使他执行成功,那如果被调用服务是可捕获异常咋办呢,这样就导致每一次重试都失败,这时候应该回滚整个事务吧,包括所有的被调用服务都应该回滚,文章里没有提到这块啊。 答:下游请求失败重试+报警。默认下游无限重试可成功,异常则需要人工处理优化流程。一般我这么搞的。

空文件

简介

暂无描述 展开 收起
Java
取消

发行版

暂无发行版

贡献者

全部

近期动态

不能加载更多了
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化