5.2 所支持的数据库类型
因为 AT 涉及 SQL 的解析,所以在不同类型的数据库上工作,会有一些特定的适配。有兴趣在这方面共建的开发者可以参考内置的对 MySQL 的支持方案,来实现对其他数据库的支持。
5.3 配置和服务注册发现
支持接入不同的配置和服务注册发现解决方案。比如:Nacos、Eureka、ZooKeeper 等。
5.4 MT 模式的场景拓展
MT 模式的一个重要作用就是,可以把非关系型数据库的资源,通过 MT 模式分支的包装,纳入到全局事务的管辖中来。比如,Redis、HBase、RocketMQ 的事务消息等。有兴趣在这方面共建的开发者可以在这里贡献一系列相关生态的适配方案。
5.5 事务协调器的分布式高可用方案
针对不同场景,支持不同的方式作为事务协调器 Server 端的高可用方案。比如,针对事务状态的持久化,可以是基于文件的实现方案,也可以是基于数据库的实现方案;集群间的状态同步,可以是基于 RPC 通信的方案,也可以是基于高可用 KV 存储的方案。
6. Roadmap
蓝图
绿色 部分是已经开源发布出来的,黄色 部分是将在后续版本中由阿里发布出来的,蓝色 部分是我们和社区共建生态部分:
对不同数据库的支持,开发者可以参考 MySQL 的实现。
对不同微服务框架的支持,开发者可以参考 Dubbo 的实现。
对 MQ、NoSQL 的支持,开发者可以参考 TCC 的实现。
配置和服务注册发现:开发者通过少量的工作可以接入任何可以提供这类服务的框架。
当然,非 蓝色 的部分也非常欢迎社区参与进来,贡献更优的解决方案。
另外,XA 作为分布式事务的标准,是一个完备的分布式事务解决方案不可或缺的,远景的规划中,我们一定需要把 XA 的支持加入进来。
初步的版本规划
v0.1.0
微服务框架支持: Dubbo
数据库支持: MySQL
基于 Spring AOP 的 Annotation
事务协调器: 单机版本
v0.5.x
微服务框架支持: Spring Cloud
MT 模式
支持 TCC 模式事务的适配
动态配置和服务发现
事务协调器: 高可用集群版本
v0.8.x
Metrics
控制台: 监控/部署/升级/扩缩容
v1.0.0
General Availability: 生产环境适用
v1.5.x
数据库支持: Oracle/PostgreSQL/OceanBase
不依赖 Spring AOP 的 Annotation
热点数据的优化处理机制
RocketMQ 事务消息纳入全局事务管理
NoSQL 纳入全局事务管理的适配机制
支持 HBase
支持 Redis
v2.0.0
支持 XA