江苏宜安建设有限公司网站,长沙网络推广外包费用,二级域名注册,网站添加支付功能Seata配置Nacos注册中心和配置中心
Seata支持注册服务到Nacos#xff0c;以及支持Seata所有配置放到Nacos配置中心#xff0c;在Nacos中统一维护#xff1b;
高可用(集群)模式下就需要配合Nacos来完成:
具体配置如下
注册中心
Seata-server端配置注册中心#xff0c;…Seata配置Nacos注册中心和配置中心
Seata支持注册服务到Nacos以及支持Seata所有配置放到Nacos配置中心在Nacos中统一维护
高可用(集群)模式下就需要配合Nacos来完成:
具体配置如下
注册中心
Seata-server端配置注册中心在registry.conf中加入配置注册中心nacos 注意确保client与server的注册处于同一个namespace和group不然会找不到服务。
registry {# file 、nacos 、eureka、redis、zk、consul、etcd3、sofatype nacosnacos {application seata-serverserverAddr 127.0.0.1:8848group SEATA_GROUP # 这里的配置要和客户端保持一致namespace # 这里的配置要和客户端保持一致cluster defaultusername nacospassword nacos}配置中心
Seata-Server配置中心在registry.conf中加入配置使用nacos作为配置中心
config {# file、nacos 、apollo、zk、consul、etcd3type nacosnacos {serverAddr 127.0.0.1:8848namespace group SEATA_GROUPusername password dataId seataServer.properties}我们需要把Seata的一些配置上传到Nacos中配置比较多所以官方给我们提供了一个config.txt我们下载并且修改其中参数上传到Nacos中 下载地址https://github.com/seata/seata/tree/develop/script/config-center 具体修改 **注意**事务分组用于防护机房停电来启用备用机房或者异地机房容错机制当然如果Seata-Server配置了对应的事务分组Client也需要配置相同的事务分组
service.vgroupMapping.可以自定义defaultdefault这里必须等于 registry.config 中的clusterdefault(当然可以更改 )transport.typeTCP
transport.serverNIO
transport.heartbeattrue
transport.enableTmClientBatchSendRequestfalse
transport.enableRmClientBatchSendRequesttrue
transport.rpcRmRequestTimeout5000
transport.rpcTmRequestTimeout10000
transport.rpcTcRequestTimeout10000
transport.threadFactory.bossThreadPrefixNettyBoss
transport.threadFactory.workerThreadPrefixNettyServerNIOWorker
transport.threadFactory.serverExecutorThreadPrefixNettyServerBizHandler
transport.threadFactory.shareBossWorkerfalse
transport.threadFactory.clientSelectorThreadPrefixNettyClientSelector
transport.threadFactory.clientSelectorThreadSize1
transport.threadFactory.clientWorkerThreadPrefixNettyClientWorkerThread
transport.threadFactory.bossThreadSize1
transport.threadFactory.workerThreadSizedefault
#-------------修改这个区域的映射--------------
transport.shutdown.wait3
service.vgroupMapping.mygroupdefault # 事务分组
service.default.grouplist127.0.0.1:8091
service.enableDegradefalse
service.disableGlobalTransactionfalse
#------------------------------------------
client.rm.asyncCommitBufferLimit10000
client.rm.lock.retryInterval10
client.rm.lock.retryTimes30
client.rm.lock.retryPolicyBranchRollbackOnConflicttrue
client.rm.reportRetryCount5
client.rm.tableMetaCheckEnablefalse
client.rm.tableMetaCheckerInterval60000
client.rm.sqlParserTypedruid
client.rm.reportSuccessEnablefalse
client.rm.sagaBranchRegisterEnablefalse
client.rm.sagaJsonParserfastjson
client.rm.tccActionInterceptorOrder-2147482648
client.tm.commitRetryCount5
client.tm.rollbackRetryCount5
client.tm.defaultGlobalTransactionTimeout60000
client.tm.degradeCheckfalse
client.tm.degradeCheckAllowTimes10
client.tm.degradeCheckPeriod2000
client.tm.interceptorOrder-2147482648
store.modedb # 修改
store.lock.modefile
store.session.modefile
store.publicKey
store.file.dirfile_store/data
store.file.maxBranchSessionSize16384
store.file.maxGlobalSessionSize512
store.file.fileWriteBufferCacheSize16384
store.file.flushDiskModeasync
store.file.sessionReloadReadSize100
#-----------修改这个区域的JDBC连接-----------
store.db.datasourcedruid
store.db.dbTypemysql
store.db.driverClassNamecom.mysql.jdbc.Driver
store.db.urljdbc:mysql://127.0.0.1:3306/seata?useUnicodetruerewriteBatchedStatementstrue
store.db.userroot
store.db.passwordroot
store.db.minConn5
store.db.maxConn30
#------------------------------------------
store.db.globalTableglobal_table
store.db.branchTablebranch_table
store.db.distributedLockTabledistributed_lock
store.db.queryLimit100
store.db.lockTablelock_table
store.db.maxWait5000
store.redis.modesingle
store.redis.single.host127.0.0.1
store.redis.single.port6379
store.redis.sentinel.masterName
store.redis.sentinel.sentinelHosts
store.redis.maxConn10
store.redis.minConn1
store.redis.maxTotal100
store.redis.database0
store.redis.password
store.redis.queryLimit100
server.recovery.committingRetryPeriod1000
server.recovery.asynCommittingRetryPeriod1000
server.recovery.rollbackingRetryPeriod1000
server.recovery.timeoutRetryPeriod1000
server.maxCommitRetryTimeout-1
server.maxRollbackRetryTimeout-1
server.rollbackRetryTimeoutUnlockEnablefalse
server.distributedLockExpireTime10000
client.undo.dataValidationtrue
client.undo.logSerializationjackson
client.undo.onlyCareUpdateColumnstrue
server.undo.logSaveDays7
server.undo.logDeletePeriod86400000
client.undo.logTableundo_log
client.undo.compress.enabletrue
client.undo.compress.typezip
client.undo.compress.threshold64k
log.exceptionRate100
transport.serializationseata
transport.compressornone
metrics.enabledfalse
metrics.registryTypecompact
metrics.exporterListprometheus
metrics.exporterPrometheusPort9898
tcc.fence.logTableNametcc_fence_log
tcc.fence.cleanPeriod1h修改好这个文件以后我们就需要把这个文件放到seata目录下 此时我们需要把这些配置一个个的加入到Nacos配置中所以我们需要一个脚本来进行执行官方已经提供好了地址为https://github.com/seata/seata/blob/develop/script/config-center/nacos/nacos-config.sh我们需要在seata-server-1.4.2文件夹中新建一个脚本文件nacos-config.sh然后把脚本内容复制进去 利用git来进行执行命令
sh nacos-config.sh -h localhost -p 8848 -g SEATA_GROUP -t 命名空间 -u nacos -w nacos参数说明
-hhost默认值localhost
-pport默认值8848
-g配置分组默认为SEATA_GROUP
-t租户信息对应Nacos的命名空间ID默认为空
在执行naocs-config文件的时候要注意它默认寻找config.txt的路径和我们的路径不同所以要打开naocs-config文件进行修改否则无法执行。
测试启动
当以上的这些配置完成以后我们就可以启动nacos和seata-server了此时我们查看Nacos的配置中心就会看到我们传入的所有配置信息
附加
各位我们Seata-Server默认端口是8091那么如果我们是集群部署方式我们如何修改端口那
在 Linux/Mac 下
$ sh ./bin/seata-server.sh在 Windows 下
bin\seata-server.bat支持的启动参数
参数全写作用备注-h–host指定在注册中心注册的 IP不指定时获取当前的 IP外部访问部署在云环境和容器中的 server 建议指定-p–port指定 server 启动的端口默认为 8091-m–storeMode事务日志存储方式支持file,db,redis默认为 file 注:redis需seata-server 1.3版本及以上-n–serverNode用于指定seata-server节点ID如 1,2,3…, 默认为 1-e–seataEnv指定 seata-server 运行环境如 dev, test 等, 服务启动时会使用 registry-dev.conf 这样的配置
如
$ sh ./bin/seata-server.sh -p 8091 -h 127.0.0.1 -m file