前言
TC Server集群部署,实现高可用,生产环境必备,在集群是,多个Seata TC Server通过db数据库,实现全局事务会话信息共享,每个Seata TC Server 可以注册到注册中心上,方便应用从注册中心获得到他们;Seata TC Server集群架构图
Seata TC Server对主流的注册中心都提供了继承,Nacos作为注册中心越来越普遍了,这里我们也采用Nacos作为注册中心!
搭建
从官网下载seata程序!Seata下载地址
构建seata数据库
复制执行!
复制seata程序
上传到服务器!
修改模式为db,数据库连接信息
seata\seata-server-0.9.0-1\seata\conf
修改注册中心
seata\seata-server-0.9.0-1\seata\conf
赋予sh文件可执行权限
chmod +x seata-server.sh
启动seata-1
./seata-server.sh -p 8091 -n 1
-p Seata TC Server监听端口
-n Server node 在多个TC Server时需要区分各自节点,用于生成不同区间的transactionId事务编号,以免冲突
启动成功
启动seata-2
./seata-server.sh -p 8092 -n 2
启动启动成功
查看Nacos注册情况
那么现在就完成了文章开始那张Seata集群的架构!,后面要拓展Seata集群的话就像启动Seata-2一样换个名字换个端口换个节点名字即可
SpringCloud集成Seata集群
这里其实就和分布式事务解决方案Seata实战文章搭建订单服务是一样的这里就不过多介绍了!这里提一嘴搭建订单服的时候使用的是file.conf和registry.conf配置文件,在整合的时候也可以使用application配置文件!
application.yml
seata:
enabled: true
application-id: anyouliang-user-service
tx-service-group: my_test_tx_group #此处配置自定义的seata事务分组名称
enable-auto-data-source-proxy: true #开启数据库代理
config:
type: nacos
nacos:
namespace:
server-addr: nacos ip+port
group: SEATA_GROUP
username: nacos
password: nacos
registry:
type: nacos
nacos:
application: seata-server
server-addr: nacos ip+port
namespace:
username: nacos
password: nacos