分布式事务

背景信息

ShardingSphere 提供了三种模式的分布式事务 LOCAL, XA, BASE

参数解释

  1. rules:
  2. - !TRANSACTION
  3. defaultType: # 事务模式,可选值 LOCAL/XA/BASE
  4. providerType: # 指定模式下的具体实现

操作步骤

使用 LOCAL 模式

server.yaml 配置文件内容如下:

  1. rules:
  2. - !TRANSACTION
  3. defaultType: LOCAL

使用 XA 模式

server.yaml 配置文件内容如下:

  1. rules:
  2. - !TRANSACTION
  3. defaultType: XA
  4. providerType: Narayana/Atomikos

手动添加 Narayana 相关依赖:

  1. jta-5.12.4.Final.jar
  2. arjuna-5.12.4.Final.jar
  3. common-5.12.4.Final.jar
  4. jboss-connector-api_1.7_spec-1.0.0.Final.jar
  5. jboss-logging-3.2.1.Final.jar
  6. jboss-transaction-api_1.2_spec-1.0.0.Alpha3.jar
  7. jboss-transaction-spi-7.6.0.Final.jar
  8. narayana-jts-integration-5.12.4.Final.jar
  9. shardingsphere-transaction-xa-narayana-x.x.x-SNAPSHOT.jar

使用 BASE 模式

server.yaml 配置文件内容如下:

  1. rules:
  2. - !TRANSACTION
  3. defaultType: BASE
  4. providerType: Seata

搭建 Seata Server,添加相关配置文件,和 Seata 依赖,具体步骤参考 ShardingSphere 集成 Seata 柔性事务