| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 大数据 -> springBootAlibaba2.2.5+nacos1.3.2+seata1.3.0配置 -> 正文阅读 |
|
[大数据]springBootAlibaba2.2.5+nacos1.3.2+seata1.3.0配置 |
版本说明:spring cloud alibaba和spring cloud和spring boot和seata的版本对应关系:https://github.com/alibaba/spring-cloud-alibaba/wiki/%E7%89%88%E6%9C%AC%E8%AF%B4%E6%98%8E 说明?nacos配置不难,此处不予介绍,spring cloud alibaba同理。主要介绍seata1.3.0的联合配置。 Seata下载Releases · seata/seata · GitHub 解压包下conf/file.conf配置修改,使数据存于数据库中。主要是改mode为db,再修改对应db的链接用户密码。 store { ? ## store mode: file、db、redis ? ## mode = "file" ? mode = "db"??? ##改成用数据库存储。 ? ## rsa decryption public key ?db { ??? ## the implement of javax.sql.DataSource, such as DruidDataSource(druid)/BasicDataSource(dbcp)/HikariDataSource(hikari) etc. ??? datasource = "druid" ??? ## mysql/oracle/postgresql/h2/oceanbase etc. ??? dbType = "mysql" ??? driverClassName = "com.mysql.cj.jdbc.Driver"?? #mysql8以上,添加cj ??? ## if using mysql to store the data, recommend add rewriteBatchedStatements=true in jdbc connection param ??? url = "jdbc:mysql://127.0.0.1:3306/seata?rewriteBatchedStatements=true"? ?#需要建立名为seata的数据库 ??? user = "root" ??? password = "**********"? #(账号密码仅为示意,使用自己的。) ??? minConn = 5 ??? maxConn = 100 ??? globalTable = "global_table" ??? branchTable = "branch_table" ??? lockTable = "lock_table" ??? queryLimit = 100 ??? maxWait = 5000 ? } 对应数据库建立,这里使用mysql
解压包下registry.conf配置修改配置注册中心和配置中心。这里注册和配置都是在nacos中。 特别注意:seata的奇葩之处在于,namespace, 在registry里面是id,即32位随机数,不是名字,config里面是名字,如dev,public等,不是id.
配置中心配置项配置内容参考https://github.com/seata/seata/tree/develop/script/config-center 的config.txt并按需修改保存 将 transport.type=TCP transport.server=NIO transport.heartbeat=true transport.enableClientBatchSendRequest=true transport.threadFactory.bossThreadPrefix=NettyBoss transport.threadFactory.workerThreadPrefix=NettyServerNIOWorker transport.threadFactory.serverExecutorThreadPrefix=NettyServerBizHandler transport.threadFactory.shareBossWorker=false transport.threadFactory.clientSelectorThreadPrefix=NettyClientSelector transport.threadFactory.clientSelectorThreadSize=1 transport.threadFactory.clientWorkerThreadPrefix=NettyClientWorkerThread transport.threadFactory.bossThreadSize=1 transport.threadFactory.workerThreadSize=default transport.shutdown.wait=3 transport.serialization=seata transport.compressor=none # server server.recovery.committingRetryPeriod=1000 server.recovery.asynCommittingRetryPeriod=1000 server.recovery.rollbackingRetryPeriod=1000 server.recovery.timeoutRetryPeriod=1000 server.undo.logSaveDays=7 server.undo.logDeletePeriod=86400000 server.maxCommitRetryTimeout=-1 server.maxRollbackRetryTimeout=-1 server.rollbackRetryTimeoutUnlockEnable=false server.distributedLockExpireTime=10000 # store #model改为db store.mode=db store.lock.mode=file store.session.mode=file # store.publicKey="" store.file.dir=file_store/data store.file.maxBranchSessionSize=16384 store.file.maxGlobalSessionSize=512 store.file.fileWriteBufferCacheSize=16384 store.file.flushDiskMode=async store.file.sessionReloadReadSize=100 store.db.datasource=druid store.db.dbType=mysql store.db.driverClassName=com.mysql.jdbc.Driver # 改为上面创建的seata服务数据库 store.db.url=jdbc:mysql://127.0.0.1:3306/seata?useUnicode=true&rewriteBatchedStatements=true # 改为自己的数据库用户名 store.db.user= # 改为自己的数据库密码 store.db.password= store.db.minConn=5 store.db.maxConn=30 store.db.globalTable=global_table store.db.branchTable=branch_table store.db.distributedLockTable=distributed_lock store.db.queryLimit=100 store.db.lockTable=lock_table store.db.maxWait=5000 store.redis.mode=single store.redis.single.host=127.0.0.1 store.redis.single.port=6379 # store.redis.sentinel.masterName="" # store.redis.sentinel.sentinelHosts="" store.redis.maxConn=10 store.redis.minConn=1 store.redis.maxTotal=100 store.redis.database=0 # store.redis.password="" store.redis.queryLimit=100 # log log.exceptionRate=100 # metrics metrics.enabled=false metrics.registryType=compact metrics.exporterList=prometheus metrics.exporterPrometheusPort=9898 # service # 自己命名一个vgroupMapping,非常重要,关系到spring cloud+nacos+seata的整合。 #分布式事务组名称my_test_tx_group名字无所谓,default名字也无所谓,该配置注册到nacos后。spring cloud中的名字和他们一致就可以了 service.vgroupMapping.my_test_tx_group=default? service.default.grouplist=127.0.0.1:8091 service.enableDegrade=false service.disableGlobalTransaction=false # client client.rm.asyncCommitBufferLimit=10000 client.rm.lock.retryInterval=10 client.rm.lock.retryTimes=30 client.rm.lock.retryPolicyBranchRollbackOnConflict=true client.rm.reportRetryCount=5 client.rm.tableMetaCheckEnable=false client.rm.tableMetaCheckerInterval=60000 client.rm.sqlParserType=druid client.rm.reportSuccessEnable=false client.rm.sagaBranchRegisterEnable=false client.rm.tccActionInterceptorOrder=-2147482648 client.tm.commitRetryCount=5 client.tm.rollbackRetryCount=5 client.tm.defaultGlobalTransactionTimeout=60000 client.tm.degradeCheck=false client.tm.degradeCheckAllowTimes=10 client.tm.degradeCheckPeriod=2000 client.tm.interceptorOrder=-2147482648 client.undo.dataValidation=true client.undo.logSerialization=jackson client.undo.onlyCareUpdateColumns=true client.undo.logTable=undo_log client.undo.compress.enable=true client.undo.compress.type=zip client.undo.compress.threshold=64k
网址:https://github.com/seata/seata/blob/develop/script/config-center/nacos/nacos-config.sh 。将nacos-config.sh 复制到解压包下/conf/nacos-config.sh,在当前文件夹下,进入git.bash,输入如下命令。 sh nacos-config.sh -h localhost -p 8848 -g SEATA_GROUP -t 0af6e97b-a684-4647-b696-7c6d42aecce7 -u nacos -w nacos 命令解析:-h -p 指定nacos的端口地址;-g 指定配置的分组,注意,是配置的分组;-t 指定命名空间id; -u -w指定nacos的用户名和密码,同样,这里开启了nacos注册和配置认证的才需要指定。 注意:这里的命名空间id一定要有,由于nacos的命名空间public没有对应id,所以配置项不能放在public下。 启动seata,nacosnacos启动略去,seata启动要进入解压包下/bin,点击seata-server.bat,启动seata.(seata启动的端口是8091) http://localhost:8848/nacos 可以看到seata已经注册进了nacos。 spring cloud alibaba配置。pom中引入seata的部分。
yml。tx-service-group填my_test_tx_group。根据这个key拿到集群名称fsp_tx_group,并且上面的config.txt中的中的server.vgroupMapping的集群也要是这个名字。 注意: 下面seata.registry.nacos.cluster要和seata.service.vgruopMapping.my_test_tx_group一致。否则报错。??
最后启动,齐活。 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 11:34:26- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |