读超时小于系统处理时间问题思考

问题描述

  系统A调用系统B的服务,系统A设置了超时上限t1(读超时,或者熔断超时等),系统B服务处理时间为t2。当t1 < t2时,系统A会抛出超时异常,系统B可能处理成功也可能失败,但是系统A无法感知,如下图所示:
在这里插入图片描述
在这里插入图片描述

影响分析

  当请求处理成功时,会造成数据不一致(如数据库新增或修改数据),这对于要求数据强一致的场景(比如支付)是无法接受的;

解决方案

  • 方案1:同步变异步,当请求处理成功时,进行回调;
  • 方案2:读超时大于系统处理时间,比如数据库场景;
  • 方案3:事务消息,或其它分布式事务技术;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值