Dubbo分布式事务解决方案
(一)跨两个dubbo服务,分布式事务解决方案
例如:
会员完成注册后,需要为会员发放奖励(派发一张优惠券),会员相关服务在mod-member模块,优惠券相关服务在mod-card...,调用dubbo服务派发优惠券,程序运行有以下异常可能
I)本地服务异常(会员注册失败),事务发生回滚,程序终止,不再调用dubbo派券服务
II)本地服务正常(会员注册成功),dubbo派券服务异常<...(二)跨三个及以上的dubbo服务,分布式解决方案
例如:
会员注册(mod-member)完成后,需要派发优惠券(mod-card),并且需要记录当前商户下新增会员数量(mod-shop),此时就涉及到跨三个...dubbo服务的操作,用传统的controller顺序调用和(一)中的方案都无法解决分布式事务数据一致性问题。...;这样的话,每个模块有牵扯到其他模块的更新操作都需要配置多个数据源,比较繁杂;另外也完全背离了dubbo(x)分布式服务的初衷(各个业务模块之间屏蔽业务和数据库操作,只提供接口服务调用)。