Results 20 issues of lorne

TM与TC模块采用的p2p网络结构,在TC端不是p2p网络,在TM上采用的是p2p方式。负载均衡要结合p2p网络优势来实现,存储统一数据库,可以采用redis或者mysql集群。

help wanted
features

6.0 相比之前的底层实现上做了些调整。需要依赖分析SQL来完成事务的补偿。目前框架是通过p6spy获取到了执行到的sql,也提供了connection对象,需要基于sql与connection对象获取到。真实影响到的数据。 何为真实影响到的数据? 比如 insert into demo(id,time,name) values(1,123,now()); 中的now() 就是一个可变参数。我们需要拿到now的真实数据,以此理解,还有id的自增长问题,还有修改语句中没有id时,要获取真实影响到的数据。删除语句中真实删除掉的语句。

help wanted
features

框架中有两个地方需要创建唯一主键。 分别是:事务组 GroupId值的创建 与 事务日志中id的主键策略。数据类型 groupId:string id:long groupid格式未必一定是string,也可以修改成lang类型。但是要保证全局环境中的唯一性

help wanted
features

事务日志的数据是需要落库到业务库中的,因此需要适配业务库的类型。 首先在没有表的时候需要创建,需要适配不同的数据库。

help wanted
features

分布式事务需要跨模块的通讯,模块与模块之前需要传递事务的信息,为了不影响业务的情况下,需要将传递数据与业务解耦封装,在框架层面做数据拦截处理。 难点:RPC通讯框架较多,不同的框架存在通讯机制上的差异。

help wanted
features

为了控制事务提交时间,将从最终一致性跨越成为强一致性。

help wanted
question
features

2020-07-02 完成任务 1、TC模块与TM模块的三阶段控制 创建 加入 通知 2、实现了事务日志的记录。 3、RPC模块增加了RestTemplate与Feign的实现。 4、移除了uml的依赖。 5、单元测试定义

目前框架的测试是依托demo的方式做的测试,但是这样的测试对环境的依赖性比较大。需要编写对框架层面的单元测试。以确保业务的准确性。

help wanted