spring cloud seata 参数配置

 

官网:https://seata.io/zh-cn/docs/user/configurations.html

配置示例:https://github.com/seata/seata/tree/1.0.0/script

 

registry.conf:服务端配置文件

https://github.com/seata/seata/blob/1.0.0/script/client/conf/registry.conf

 

*****************************

公共配置

 

transport.serialization:cleint、server通信编解码方式,可为:seata(默认)、protobuf、kryo、hession

transport.compressor:cleint、server数据压缩方式,可为:none(默认)、gzip

transport.heartbeat:client、server心跳检测开关,默认为true

 

registry.type:注册中心类型,可为:file、consul、nacos、zookeeper等

config.type:配置中心类型,可为:file、consul、nacos、zookeeper等

 

 

*****************************

server 端配置

 

registry.type:注册中心类型,可为:file、consul、nacos、zookeeper等

config.type:配置中心类型,可为:file、consul、nacos、zookeeper等

 

store.mode:事务存储模式,可为:file、db

store.db.driverClassName:存储模式为db时,使用的数据库驱动类

store.db.url:数据库连接url

store.db.user:数据库用户名

store.db.password:数据库密码

 

server.undo.logSaveDays:undo保存天数,默认为7天

server.undo.logDeletePeriod:undo清理线程间隔时间,默认为86400000毫秒(1天)

 

server.maxCommitRetryTimeout:二阶段提交重试超时时长,单位ms、s、m、h、d,默认为-1,可无限重试

server.maxRollbackRetryTimeout:二阶段回滚超时时间,单位ms、s、m、h、d,默认为-1,可无限重试

 

server.recovery.committingRetryPeriod:二阶段提交未完成全局事务重试间隔,默认为1000毫秒

server.recovery.asynCommittingRetryPeriod:二阶段异步提交未完成全局事务重试间隔,默认为1000毫秒

server.recovery.rollbackingRetryPeriod:二阶段回滚重试间隔,默认为1000毫秒

server.recovery.timeoutRetryPeriod:超时状态检测重试线程间隔时间,默认为1000毫秒

 

store.mode:事务存储模式,可为file、db

store.file.dir:存储模式为file时,指定存储路径

 

store.db.datasource:存储模式为db时,数据库连接池,默认为dbcp

store.db.dbType:数据类型,默认为mysql

store.db.driverClassName:数据库驱动,默认为com.mysql.jdbc.Driver

store.db.url:数据库连接地址

store.db.user:数据库用户名

store.db.password:数据库密码

store.db.minConn:数据库最小连接数

store.db.maxConn:数据库最大连接数

store.db.globalTable:全局事务表名,默认为global_table

store.db.branchTable:分支事务表名,默认为branch_table

store.db.lockTable:全局锁表名,默认为lock_table

store.db.queryLimit:全局事务最大查询数,默认为100

 

metrics.enabled:是否开启metrics,默认为false

metrics.registryType:指标注册器类型,默认为compact

metrics.exporterList:指标结果输出器列表,默认为prometheus,多个值用逗号间隔

metrics.exporterPrometheusPort:peometheus客户端输出端口号,默认为9898

 

 

*****************************

client 端配置

 

registry.type:注册中心类型,可为:file、consul、nacos、zookeeper等

config.type:配置中心类型,可为:file、consul、nacos、zookeeper等

 

seata.enabled:开启spring boot自动装配,默认为true

seata.enableAutoDataSourceProxy:开启数据源自动代理,默认为true

seata.useJdkProxy:使用jdk动态代理,默认为false

transport.enableClientBatchSendRequest:客户端事务消息请求合并发送,默认为true

client.log.exceptionRate:日志异常输出概率,默认为100

 

seata事务分组

seata:
  tx-service-group: my_test_tx_group

spring:
  cloud:
    alibaba:
      seata:
        tx-service-group: my_test_tx_group

优先读取seata.tx-service-group中的值;

如果没有设置,读取spring.cloud.alibaba.seata.tx-service-group中的值;

如果没有设置,tx-service-group默认为:applicationId + "-seata-service-group"

service.vgroupMapping.my_test_tx_group:default,事务群组名称为default,my_test_tx_group为application.yml配置文件中定义的名称

service.default.grouplist:127.0.0.1:8091,使用文件配置中心时指定seata server地址

 

service.disableGlobalTransaction:关闭全局事务,默认为false

service.enableDegrade:开启降级,业务连续出错则不使用事务,默认为false

 

client.rm.reportSuccessEnable:是否上报一阶段成功,true用于保持分支事务生命周期完整,默认为false

client.rm.asynCommitBufferLimit:异步提交缓存队列长度,默认为10000,二阶段提交成功,资源管理器rm清理undo队列

client.rm.lock.retryInterval:检验或者重新获取全局锁的时间间隔,默认为10ms

client.rm.lock.retryTimes:检验或者获取全局锁的重试次数,默认为30

client.rm.lock.retryPolicyBranchRollbackOnConflict:分支事务与其它全局事务冲突时锁释放策略,默认为true,分支事务释放本地锁

client.rm.sqlParserType:资源管理器sql解析类型,如druid

public final class SqlParserType {
    public static final String SQL_PARSER_TYPE_DRUID = "druid";

    private SqlParserType() {
    }
}

client.rm.reportRetryCount:一阶段结果上报tc重试次数,默认为5

client.rm.tableMetaCheckEnable:自动刷新缓存中的表结构,默认为false

 

client.tm.commitRetryCount:全局提交上报tc重试次数,默认为1,建议大于1

client.tm.rollbackRetryCount:全局回滚上报tc重试次数,默认为1,建议大于1

 

client.undo.dataValidation:二阶段回滚数据检验,默认为true

client.undo.logSerialization:undo序列化方式,默认为jackson

client.undo.logTable:undo表明,默认为undo_table

 

 

*****************************

配置参数同步到配置中心consul

 

官网:https://github.com/seata/seata/tree/1.0.0/script/config-center

 

consul-config.sh -h localhost -p 8500:将当前目录的config.txt配置参数同步到配置中心consul

consul-config.sh:配置文件同步脚本

-h:配置中心consul的地址,默认为loclahost

-p:配置中心consul 端口,默认为8500