Seata 的配置非常灵活,可以通过多种方式来配置不同的参数。以下是 Seata 参数配置的详细说明,包括 Seata Server 和 Seata Client 的配置选项。
Seata Server 配置
Seata Server 的配置文件通常位于 seata-server/conf/config.txt
中。这里有一些重要的配置项:
-
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。- 其他注册中心类型的相应配置。
-
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。- 其他配置中心类型的相应配置。
-
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
: 文件写缓冲缓存大小。
-
Transport Configuration (传输配置):
transport.type
: 传输层类型,如netty
,grpc
。transport.server
: 服务器类型,如NIO
,BIO
。transport.host
: 主机地址。transport.port
: 端口号。transport.thread-factory
: 线程工厂名称。transport.shutdown
: 服务关闭时的行为,如destroy
,shutdown
。
-
Scheduling Configuration (调度配置):
scheduling.enabled
: 是否启用定时任务。scheduling.cron
: 定时任务的 cron 表达式。scheduling.beginTime
: 开始时间。scheduling.timeUnit
: 时间单位,如SECONDS
,MINUTES
,HOURS
,DAYS
。scheduling.initialDelay
: 初始延迟时间。
-
Recovery Configuration (恢复配置):
recovery.enabled
: 是否启用恢复机制。recovery.maxRetryCount
: 最大重试次数。recovery.retryPeriod
: 重试间隔时间。recovery.delayPeriod
: 延迟时间。
-
Transaction Coordinator Configuration (事务协调器配置):
coordinator.lock
: 锁配置。coordinator.lock.timeout
: 锁超时时间。coordinator.lock.retryInterval
: 重试间隔。coordinator.lock.retryTimes
: 重试次数。
-
Metrics Configuration (度量配置):
metrics.registryType
: 度量注册表类型,如micrometer
。metrics.export
: 导出配置。
-
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.yml
或 application.properties
文件中进行配置。以下是一些关键配置项:
-
Tx Service Group (事务服务组):
spring.cloud.alibaba.seata.tx-service-group
: 事务服务组名称。
-
Auto Data Source Proxy (自动数据源代理):
spring.cloud.alibaba.seata.enable-auto-data-source-proxy
: 是否启用自动数据源代理。
-
Service Configuration (服务配置):
spring.cloud.alibaba.seata.service.vgroup-mapping
: 服务组映射。spring.cloud.alibaba.seata.service.enable-degrade
: 是否启用降级。spring.cloud.alibaba.seata.service.disable-global-transaction
: 是否禁用全局事务。
-
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
: 分支冲突时是否回滚。
-
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 的官方文档以获取最新的配置选项和默认值。
如果您需要更详细的配置指南或遇到了特定的问题,请告诉我,我会为您提供进一步的帮助。