LCN强一致分布式事务:原理?使用场景:用户积分兑换商品。要求时效性和一致性。 为什么不能使用补偿性分布式事务?因为补偿式分布式事务可能出现积分重新购买。
消息队列补偿式分布式事务:流程图?使用场景:用户注册成功发积分、交易成功发短息、推送消息;
超时重试的概念:上游系统调用下游系统 在一定的时间内没有得到响应,这时为了避免是犹豫 上游系统原因导致 请求没发出去,重新发送请求尝试;
针对以上问题有两种思路1、防止重试:的tradeNo 2、重试幂等(该 幂等 可以使用redis 操作,因为超时重试 两次请求之间的时间间隔都很短 所以用 redis 做合适,将重试tradeNo放入redis中);
分布式事务:防止多次调用重复执行,需要做幂等,这个幂等的tradeNo需要放入数据库中 因为分布式事务中的重试是依靠定时任务进行的,所有请求和重试之间的时间可能会出现较长的情况,存入redis比较合适;分布式事务中的重试都是在后端事件的入口处做记录的,并且只有入口做记录,整个请求链路 使用相同唯一的tradeNo,使用相同的tradeNo可以保证 下游系统相互调用的时候 失败不用保存;
版权声明:本文为liyanqiang19原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。