Skip to content

Developer Guide

liuyangming edited this page Sep 14, 2017 · 11 revisions

一、整体设计

1.1、模块依赖关系

TODO
说明:

  1. ByteTCC包含ByteJTA事务管理器、ByteTCC事务管理器两个模块,其中:ByteJTA事务管理器用于管理普通事务;ByteTCC事务管理器用于管理TCC全局事务;
  2. ByteJTA & ByteTCC都包含TransactionManager、TransactionCoordinator/CompensableCoordinator、TransactionRecover、TransactionLogger/CompensableLogger等部件;
  3. TransactionManager:事务管理器,接收并处理bean容器的begin、commit、rollback等事务处理请求;
  4. TransactionCoordinator/CompensableCoordinator:事务管理器向外暴露的远程接口,接收并处理其他节点的事务管理器的commit、rollback等事务处理请求;
  5. TransactionRecover: 事务恢复部件;
  6. TransactionLogger/CompensableLogger:事务日志部件;
1.2、执行原理介绍

二、本地事务管理

// TODO 待补充

三、全局事务管理

// TODO 待补充

四、集群支持

// TODO 待补充

五、扩展点

自定义的扩展类均需要注册到org.bytesoft.bytetcc.TransactionBeanFactoryImpl中(具体可参考bytetcc.xml中默认实现类的配置)。

5.1. CompensableLogger扩展

org.bytesoft.compensable.logging.CompensableLogger接口是ByteTCC的事务日志管理接口,ByteTCC事务管理器通过该接口记录、读取活动事务的日志信息,该接口的默认实现为org.bytesoft.bytetcc.logging.SampleCompensableLogger。用户也可以根据需求自定义该接口的实现,扩展事务日志管理功能。

5.2. TransactionInterceptor扩展

org.bytesoft.transaction.supports.rpc.TransactionInterceptor接口是ByteTCC用于在远程调用时拦截RPC请求/响应的处理接口,该接口用于为service的远程调用传播事务上下文等用途,默认实现为org.bytesoft.bytetcc.supports.rpc.CompensableInterceptorImpl。用户若需要新增RPC框架的支持时,需要自定义本接口。

注意:不同的RPC框架,根据其特性不同,需要定制的内容可能会相差较大。

If you've found byteTCC useful, and would like to support future development of byteTCC, please consider donating. Any amount is appreciated.

WeiXin

Alipay

Clone this wiki locally