您的位置:首页 > 其它

关于LCN分布式事务框架

2018-11-22 18:25 656 查看

基于LCN框架解决分布式事务

 

LCN官网 https://www.txlcn.org/

"LCN并不生产事务,LCN只是本地事务的搬运工"

兼容 dubbo、springcloud、motan 框架,支持各种关系型数据库

LCN框架底层实现原理

详细参考: https://github.com/codingapi/tx-lcn/wiki/LCN%E5%8E%9F%E7%90%86

 

 

1.LCN客户端(发起方和参与方都必须要注册到事务协调者中) 建立一个长连接。
2.订单服务(发起方)调用库存服务接口(参与方)之前会向TxManager事务协调者创建一个事务的分组id。
3.订单服务(发起方)调用库存服务接口(参与方)的时候,会在请求头中存放该事务的分组id,给库存服务。
4.如果库存服务获取到请求头中有对应的事务分组id,库存服务业务逻辑代码执行完毕的,会采用假关闭,不会提交该事务。

5.参与方在什么时候提交事务。
肯定在发起方 执行成功下。
订单服务(发起方)调用库存服务接口(参与方)之后,如果订单服务(发起方)执行没有问题的下,
订单服务(发起方)使用对应的事务分组id,通知给TxManager事务协调者,让后TxManager事务协调者在根据该事务分组id,通知给所有的参与方提交事务。

 


PS:长连接 好处减少宽带传输 弊端比较占内存。

 

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: