微服务分布式事务解决方案 TX-LCN 框架
背景
LCN 框架在2017年6月份发布第一个版本,从开始的1.0,已经发展到了5.0版本。 LCN 名称是由早期版本的 LCN 框架命名,在设计框架之初的1.0 ~ 2.0的版本时框架设计的步骤是如下,各取其首字母得来的LCN命名。
锁定事务单元(lock)
确认事务模块状态(confirm)
通知事务(notify)
LCN 并不生产事务,LCN 只是本地事务的协调工
LCN 5.0 以后由于框架兼容了 LCN、TCC、TXC 三种事务模式,为了避免区分 LCN 模式,特此将 LCN 分布式事务改名为 TX-LCN 分布式事务框架。
TX-LCN 定位于一款事务协调性框架,框架其本身并不操作事务,而是基于对事务的协调从而达到事务一致性的效果。
TX-LCN 支持跨 Web 服务器,微服务之间的 Feign 远程调用,集群,熔断。
推荐观看框架原理视频介绍
流行的分布式解决方案的特点
TCC 特点
该模式对代码的嵌入性高,要求每个业务需要写三种步骤的操作。
该模式对有无本地事务控制都可以支持使用面广。
数据一致性控制几乎完全由开发者控制,对业务开发难度要求高,需要些更多的代码。
TXC 逆向 SQL 特点
该模式对代码的嵌入性低。
该模式仅限于对支持 SQL 方式的模块支持。
该模式由于每次执行 SQL 之前需要先查询影响数据,因此相比 LCN 要消耗资源与时间要多,对性能有影响。
该模式不会占用数据库的连接资源,但中间状态可见(任何情况下都可读取未提交的数据)
LCN 代理连接特点
该模式同样对代码的嵌入性低。
该模式仅限于本地存在连接对象且可通过连接对象控制事务的模块。
该模式下的事务提交与回滚是由本地事务方控制,对于数据一致性上有较高的保障。
该模式缺陷在于代理的连接需要随事务发起方一共释放连接,增加了连接占用的时间。
综上比较 LCN 对 SQL 上没要求,切无性能影响,代码嵌入性低,推荐使用。
JeeSite 中如何使用?
配置