雀仙桥下面是定时补偿任务的主流程:在实践中£¬一个正常的扣款任务在 1 分钟内都应该结束了,时间主要花费在调用第三方扣款服务上,绝大部分 30 纵横小说网秒内结束,少量的会拖的时间比较长,甚4hutv海外永久至跨日;定时任务 3 分钟执行一次,每次扫描 3 分钟前开始的、且当前未结束的任务。

下面我们来看£¬在这些步骤中,会有哪些失败场景和各自特点:本地 DB 的 SQL 执行£ºSQL 错误、与 DB 网络中断或者 DB 不可用的时候,会失败,但这种失败可补偿£¬且概率很低£»远程调用:在本例中是“同步调用第三方雀仙桥支付渠道扣款¡±,因为这是网络调用£¬最复杂的一种,可能今天是端午小长假第二天我市共接待游客320.18万人次同比增长13.1%实现旅游总收入17.12亿元同比增长26.8%厉害了£¡大重庆端午节小长假进入第二天全市旅游接待持续增长旅游市场平稳有序无旅游安全事故发生一百多项旅游活动共庆端午今年端午节期间,我市各区县共推出100多个旅游节庆活动。会超时、也可能会连接中断或其他错误原因中断,这里的失败是有无法补偿的可能的,尤其是业务类错误¡ª—用户余额不足¡¢用户银行卡状态不对等,都可能导致业务终止而无法继续下去£»发送 MQ 和本地 DB 的 SQL 执行类似£¬是可补偿的失败£¬从可用性的角度来看£¬比 SQL 执行的失败概率略高一些£¬在我们实际场景中,就有发送失败的情况(我们使用的是 RocketMQ,曾经出现过几次 broker 刷盘缓慢导致流控的发送失败£©;异步系统执行£º我们这里是触发账务系统入账£¬是 RPC 类£¨我们用的 Dubbo)操作£¬有一定的失败可能性£¨账务系统压力过大、内存溢出¡¢磁盘占满等都可能导致其不能或部分服务器不能提供服务£©,但又因为它在业务上是肯定能成功的记账操作£¬所以即使失败,也是可以补偿的; 综合上面这些分析,考虑到步骤 2“同步调用第三方支付渠道扣款”是唯一一种无法补偿的业务£¬且处于流

雀仙桥

程链最靠前的地方,所以整个业务流,我们是向着可补偿的方式,即保证最终都会成功的最终一致性的方向去做¡£