RPC接口幂等问题
Insert类型
数据库表字段中根据全局id设定唯一主键 防止重复插入
update类型
使用乐观锁+版本号码实现控制
分布式事物解决方案
如何传递xid: 有个feign客户端拦截器
怎么判断发起方和参与方:是否有分组id(XID)
lcn事物原理
1 发起方与参与方与我们的LCN管理器全局事务协调者一直保持长连接;
2 发起方在调用接口之前会使用Aop生成一个全局的事务分组id,并且发送给事物协调者;
3.当我们发起方调用接口的时候,会再请求头中设置该事务全局分组id;
4 参与方从请求头中获取到该全局分组id,数据源事物就不会提交
5 发起方调用参与方接口完毕之后,如果报错就通知事物协调者在通知参与方回滚,如果没报错就通知事物协调者在通知给参与方提交事物
seata事物原理
发起方和参与方都被Seata的数据数据源实现代理,在原生的sql之前和之后保存原来和修改后日志到undo_log中,方便后期实现回滚。
1 发起方与参与方</