Seata 分布式事务框架

一、注册中心

通过注册中心通讯

1、seata server 向注册中心注册

2、seata client 向注册中心注册

3、seata client 通过注册中心返回的seata server的地址与端口,找到seata server

直连

二、配置中心

三、配置模式

四、配置文件

file.conf
该文件用于配置存储方式、透传事务信息的NIO等信息,默认对应registry.conf文件内的file方式配置。

registry.conf
seata server核心配置文件,可以通过该文件配置服务注册方式、配置读取方式。

注册方式目前支持file 、nacos 、eureka、redis、zk、consul、etcd3、sofa等方式,默认为file,对应读取file.conf内的注册方式信息。

读取配置信息的方式支持file、nacos 、apollo、zk、consul、etcd3等方式,默认为file,对应读取file.conf文件内的配置。

五、seata事务相关信息存储模式

file模式:高性能

db模式:高可用

1、创建数据库及对应的表

2、配置file.conf文件为db模式,并配置数据库链接

3、

坑1:默认不支持mysql8,开启db模式时,需将lib中的jdbc文件夹中的mysql-connector-java-8.0.19.jar 移动到 lib文件夹下,然后删除 jdbc中的 mysql-connector-java-5.1.35.jar;

坑2:端口号冲突

lsof -i : 端口号

kill -9 进程id(PID)

 4、db模式下事务日志如下图

server端日志:

源码分析-上下文id传递:

参考资料

官网

github - seata

原文地址:https://www.cnblogs.com/wangwangfei/p/13099077.html