
# KDTX分布式事务部署文档
- [KDTX分布式事务部署文档](#kdtx分布式事务部署文档)
- [目标](#目标)
- [事务协调器](#事务协调器)
- [部署方式](#部署方式)
- [独立部署事务协调器](#独立部署事务协调器)
- [代码更新](#代码更新)
- [参数配置](#参数配置)
- [线程池](#线程池)
- [部署后检查](#部署后检查)
- [页面检查](#页面检查)
- [数据库检查](#数据库检查)
## 目标
可以在苍穹各个环境中(包括主干,基线测试环境,公有云,私有云),按照正确的方式部署KDTX分布式事务各个组件,使其可以正常工作
## 事务协调器
在苍穹里为了实现分布式事务,引入了 事务协调器服务(kdtx-server),协调器可以独立部署,也可以和原来的mservice节点共用
**注意:为保证事务协调器高效稳定工作,
强烈建议协调器独立部署节点,虽然不独立部署,协调器也可以正常工作**
## 部署方式
1. 不分应用部署
```properties
appSplit=false
```
这时所有启动的mservice节点都作为事务协调器
2. 分应用部署
```properties
appSplit=true
```
- 事务协调器独立部署
在MC中增加以下配置:
```properties
kdtx.server.independent.deploy=true
```
事务协调器启动后,作为分布式事务的server端处理所有相关请求,和其它节点完全隔离
如何独立部署kdtx-server,参考[下面](#独立部署事务协调器)章节
- 事务协调器不部署
这时配置了appIds包含bos的节点将作为事务协调器
**注意:事务协调器不会在web和轻分析(qing)这2个节点生效**
### 独立部署事务协调器
- 服务名:kdtx-server
- 资源配置:内存尽量配置大一点,建议6G以上
- 环境变量
```properties
# appIds必须要按照以下名称配置
appIds=kdtx-server
# 堆大小建议6g以上;其它参数根据实际情况配置即可
JVM_OPTS=-Xms6g -Xmx6g
```
注意:为了保证高可用,生产环境运行实例副本必须在2个以上;测试环境可以只