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