分布式事务 Seata 教程 - Seata参数配置详解

Seata 的配置非常灵活,可以通过多种方式来配置不同的参数。以下是 Seata 参数配置的详细说明,包括 Seata Server 和 Seata Client 的配置选项。

Seata Server 配置

Seata Server 的配置文件通常位于 seata-server/conf/config.txt 中。这里有一些重要的配置项:

  1. Registry Configuration (注册中心配置):

    • registry.type: 注册中心类型,如 nacos, eureka, redis, zk, consul, etcd3, simple
    • registry.nacos.serverAddr: Nacos 服务器地址,例如 127.0.0.1:8848
    • registry.nacos.group: Nacos 中的组名,默认为 SEATA_GROUP
    • registry.nacos.namespace: Nacos 命名空间 ID。
    • 其他注册中心类型的相应配置。
  2. Config Configuration (配置中心配置):

    • config.type: 配置中心类型,如 nacos, apollo, zk, consul, etcd3, file
    • config.nacos.serverAddr: Nacos 服务器地址。
    • config.nacos.group: Nacos 中的组名,默认为 SEATA_GROUP
    • config.nacos.namespace: Nacos 命名空间 ID。
    • 其他配置中心类型的相应配置。
  3. Store Configuration (数据存储配置):

    • store.mode: 存储模式,如 db, file
    • store.db.datasource: 数据源配置,例如 druid, hikari
    • store.db.driverClassName: 数据库驱动类名称。
    • store.db.url: 数据库 URL。
    • store.db.user: 数据库用户名。
    • store.db.password: 数据库密码。
    • store.file.dir: 文件存储目录。
    • store.file.maxBranchSessionSize: 单个分支会话的最大大小。
    • store.file.maxGlobalSessionSize: 单个全局会话的最大大小。
    • store.file.fileWriteBufferCacheSize: 文件写缓冲缓存大小。
  4. Transport Configuration (传输配置):

    • transport.type: 传输层类型,如 netty, grpc
    • transport.server: 服务器类型,如 NIO, BIO
    • transport.host: 主机地址。
    • transport.port: 端口号。
    • transport.thread-factory: 线程工厂名称。
    • transport.shutdown: 服务关闭时的行为,如 destroy, shutdown
  5. Scheduling Configuration (调度配置):

    • scheduling.enabled: 是否启用定时任务。
    • scheduling.cron: 定时任务的 cron 表达式。
    • scheduling.beginTime: 开始时间。
    • scheduling.timeUnit: 时间单位,如 SECONDS, MINUTES, HOURS, DAYS
    • scheduling.initialDelay: 初始延迟时间。
  6. Recovery Configuration (恢复配置):

    • recovery.enabled: 是否启用恢复机制。
    • recovery.maxRetryCount: 最大重试次数。
    • recovery.retryPeriod: 重试间隔时间。
    • recovery.delayPeriod: 延迟时间。
  7. Transaction Coordinator Configuration (事务协调器配置):

    • coordinator.lock: 锁配置。
    • coordinator.lock.timeout: 锁超时时间。
    • coordinator.lock.retryInterval: 重试间隔。
    • coordinator.lock.retryTimes: 重试次数。
  8. Metrics Configuration (度量配置):

    • metrics.registryType: 度量注册表类型,如 micrometer
    • metrics.export: 导出配置。
  9. Other Configurations (其他配置):

    • client.rm.reportSuccessEnable: 是否报告成功事务。
    • client.tm.defaultGlobalTransactionTimeout: 默认全局事务超时时间。
    • client.tm.commitRetryCount: 提交重试次数。
    • client.tm.rollbackRetryCount: 回滚重试次数。
    • client.tm.undoLogDeletePeriod: 未完成事务的清理周期。
    • client.tm.undoLogDeleteLimit: 未完成事务的清理限制。

Seata Client 配置

Seata Client 的配置通常在 Spring Boot 应用中的 application.ymlapplication.properties 文件中进行配置。以下是一些关键配置项:

  1. Tx Service Group (事务服务组):

    • spring.cloud.alibaba.seata.tx-service-group: 事务服务组名称。
  2. Auto Data Source Proxy (自动数据源代理):

    • spring.cloud.alibaba.seata.enable-auto-data-source-proxy: 是否启用自动数据源代理。
  3. Service Configuration (服务配置):

    • spring.cloud.alibaba.seata.service.vgroup-mapping: 服务组映射。
    • spring.cloud.alibaba.seata.service.enable-degrade: 是否启用降级。
    • spring.cloud.alibaba.seata.service.disable-global-transaction: 是否禁用全局事务。
  4. Client RM (资源管理器):

    • spring.cloud.alibaba.seata.client.rm.report-success-enable: 是否报告成功事务。
    • spring.cloud.alibaba.seata.client.rm.lock.retry-interval: 锁重试间隔。
    • spring.cloud.alibaba.seata.client.rm.lock.retry-times: 锁重试次数。
    • spring.cloud.alibaba.seata.client.rm.lock.retry-policy-branch-rollback-on-conflict: 分支冲突时是否回滚。
  5. Client TM (事务管理器):

    • spring.cloud.alibaba.seata.client.tm.default-global-transaction-timeout: 默认全局事务超时时间。
    • spring.cloud.alibaba.seata.client.tm.commit-retry-count: 提交重试次数。
    • spring.cloud.alibaba.seata.client.tm.rollback-retry-count: 回滚重试次数。

这些配置项可以帮助您根据具体的应用场景和需求来定制 Seata 的行为。请务必参考 Seata 的官方文档以获取最新的配置选项和默认值。

如果您需要更详细的配置指南或遇到了特定的问题,请告诉我,我会为您提供进一步的帮助。

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值