seata1.4.0 + zookeeper + springboot + mysql

0.环境准备

1) mysql数据库 192.168.1.110:3306
	数据库 seata
	数据库 service-a
	数据库 service-b
2) seata-server 192.168.1.165:8091
3) zookeeper 192.168.1.165:2181

1.下载seata-server TC

https://seata.io/zh-cn/blog/download.html

2.配置seata-server TC

1) file.conf 
	## transaction log store, only used in seata-server
	store {
	  ## store mode: file、db、redis
	  mode = "db"
	  ## database store property
	  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"
	    url = "jdbc:mysql://192.168.1.110:3306/seata?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=GMT%2B8&useSSL=false"
	    user = "root"
	    password = "000000"
	    minConn = 5
	    maxConn = 100
	    globalTable = "global_table"
	    branchTable = "branch_table"
	    lockTable = "lock_table"
	    queryLimit = 100
	    maxWait = 5000
	  }
	}
2) registry.conf
	## transaction log store, only used in seata-server
	store {
	  ## store mode: file、db、redis
	  mode = "db"
	  ## database store property
	  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"
	    url = "jdbc:mysql://192.168.1.110:3306/seata?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=GMT%2B8&useSSL=false"
	    user = "root"
	    password = "000000"
	    minConn = 5
	    maxConn = 100
	    globalTable = "global_table"
	    branchTable = "branch_table"
	    lockTable = "lock_table"
	    queryLimit = 100
	    maxWait = 5000
	  }
	}
3) logback.xml

3.将config.txt配置同步到zk

config.txt
transport.type=TCP
transport.server=NIO
transport.heartbeat=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=8
transport.shutdown.wait=3
transport.serialization=seata
transport.compressor=none
transport.enableClientBatchSendRequest=true
service.vgroupMapping.seata_service_group=default
service.enableDegrade=false
service.disable=false
service.max.commit.retry.timeout=-1
service.max.rollback.retry.timeout=-1
service.disableGlobalTransaction=false
server.recovery.committingRetryPeriod=1000
server.recovery.asynCommittingRetryPeriod=1000
server.recovery.rollbackingRetryPeriod=1000
server.recovery.timeoutRetryPeriod=1000
server.undo.logDeletePeriod=1000
server.undo.logSaveDays=30
server.maxCommitRetryTimeout=5000
server.maxRollbackRetryTimeout=5000
server.rollbackRetryTimeoutUnlockEnable=true
server.enableCheckAuth=false
client.lock.retry.internal=10
client.lock.retry.times=30
client.report.retry.count=5
client.support.spring.datasource.autoproxy=false
client.rm.asyncCommitBufferLimit=10000
client.rm.tableMetaCheckEnable=false
client.rm.sqlParserType=druid
client.rm.reportRetryCount=3
client.rm.reportSuccessEnable=false
client.rm.lock.retryPolicyBranchRollbackOnConflict=true
client.tm.commitRetryCount=3
client.tm.rollbackRetryCount=3
client.tm.degradeCheck=false
client.tm.defaultGlobalTransactionTimeout=60000
client.undo.logSerialization=jackson
client.undo.dataValidation=true
client.undo.logTable=undo_log
client.async.commit.buffer.limit=10000
store.mode=db
store.db.driverClassName=com.mysql.cj.jdbc.Driver
store.db.datasource=druid
store.db.dbType=mysql
store.db.url=jdbc:mysql://192.168.1.110:3306/seata?useUnicode=true&characterEncoding=UTF-8&allowMultiQueries=true&serverTimezone=GMT%2B8&useSSL=false
store.db.user=root
store.db.password=000000
store.db.minConn=10
store.db.maxConn=30
store.db.maxWait=5000
store.db.globalTable=global_table
store.db.branchTable=branch_table
store.db.queryLimit=100
store.db.lockTable=lock_table
store.file.sessionReloadReadSize=
recovery.committingRetryPeriod=1000
recovery.asynCommittingRetryPeriod=1000
recovery.rollbackingRetryPeriod=1000
recovery.timeoutRetryPeriod=1000
transaction.undo.data.validation=true
transaction.undo.log.serialization=jackson
transaction.undo.log.save.days=7
transaction.undo.log.delete.period=86400000
transaction.undo.log.table=undo_log
metrics.enabled=false
metrics.registryType=compact
metrics.exporterList=prometheus
metrics.exporterPrometheusPort=9898

	./seata-zk-config.sh -h 192.168.1.165 -p 2181 -z /data/apache-zookeeper-3.6.2-bin

4.seata-server 数据库(seata)建表

################# seata-server库需要添加下列表,只需要添加一个库 ###########################

DROP TABLE IF EXISTS `global_table`;
CREATE TABLE `global_table` (
  `xid` varchar(128) NOT NULL,
  `transaction_id` bigint(20) DEFAULT NULL,
  `status` tinyint(4) NOT NULL,
  `application_id` varchar(64) DEFAULT NULL,
  `transaction_service_group` varchar(64) 
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值