<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

          spring cloud alibaba 分布式事務(wù)解決方案之seata-1.3.0

          共 7259字,需瀏覽 15分鐘

           ·

          2020-11-08 21:19

          點(diǎn)擊上方藍(lán)色字體,選擇“標(biāo)星公眾號(hào)”

          優(yōu)質(zhì)文章,第一時(shí)間送達(dá)

          ? 作者?|??Jone_chen

          來源 |? urlify.cn/3uuu2m

          66套java從入門到精通實(shí)戰(zhàn)課程分享

          1、github上下載seata-1.3.0.zip包

          鏈接:https://github.com/seata/seata/releases/download/v1.3.0/seata-server-1.3.0.zip

          2、打開seata壓縮包,找到conf文件夾下的file.conf修改注冊(cè)方式和配置方式為nacos,如下:

          ##?transaction?log?store,?only?used?in?seata-server
          #這里手動(dòng)加入service模塊
          service?{
          ??#transaction?service?group?mapping
          ??#修改,可不改,my_test_tx_group隨便起名字。
          ??vgroup_mapping.my_test_tx_group?=?"default"
          ??#only?support?when?registry.type=file,?please?don't?set?multiple?addresses
          ??#?此服務(wù)的地址
          ??default.grouplist?=?"127.0.0.1:8091"
          ??#disable?seata
          ??disableGlobalTransaction?=?false
          }
          store?{
          ??##?store?mode:?file、db、redis
          ??mode?=?"db"

          ??##?file?store?property
          ??file?{
          ????##?store?location?dir
          ????dir?=?"sessionStore"
          ????#?branch?session?size?,?if?exceeded?first?try?compress?lockkey,?still?exceeded?throws?exceptions
          ????maxBranchSessionSize?=?16384
          ????#?globe?session?size?,?if?exceeded?throws?exceptions
          ????maxGlobalSessionSize?=?512
          ????#?file?buffer?size?,?if?exceeded?allocate?new?buffer
          ????fileWriteBufferCacheSize?=?16384
          ????#?when?recover?batch?read?size
          ????sessionReloadReadSize?=?100
          ????#?async,?sync
          ????flushDiskMode?=?async
          ??}

          ??##?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://119.29.165.98:3306/seata?useSSL=false&serverTimezone=Asia/Shanghai"
          ????user?=?"root"
          ????password?=?"@Cj19861127"
          ????minConn?=?5
          ????maxConn?=?30
          ????globalTable?=?"global_table"
          ????branchTable?=?"branch_table"
          ????lockTable?=?"lock_table"
          ????queryLimit?=?100
          ????maxWait?=?5000
          ??}

          ??##?redis?store?property
          ??redis?{
          ????host?=?"127.0.0.1"
          ????port?=?"6379"
          ????password?=?""
          ????database?=?"0"
          ????minConn?=?1
          ????maxConn?=?10
          ????queryLimit?=?100
          ??}
          }

          3、修改registry.conf

          registry?{
          ??#?file?、nacos?、eureka、redis、zk、consul、etcd3、sofa
          ??type?=?"nacos"

          ??nacos?{
          ????application?=?"seata-server"
          ????serverAddr?=?"119.29.165.98:8848"
          ????group?=?"SEATA_GROUP"
          ????namespace?=?""
          ????cluster?=?"default"
          ????username?=?"nacos"
          ????password?=?"nacos"
          ??}
          ??eureka?{
          ????serviceUrl?=?"http://localhost:8761/eureka"
          ????application?=?"default"
          ????weight?=?"1"
          ??}
          ??redis?{
          ????serverAddr?=?"localhost:6379"
          ????db?=?0
          ????password?=?""
          ????cluster?=?"default"
          ????timeout?=?0
          ??}
          ??zk?{
          ????cluster?=?"default"
          ????serverAddr?=?"127.0.0.1:2181"
          ????sessionTimeout?=?6000
          ????connectTimeout?=?2000
          ????username?=?""
          ????password?=?""
          ??}
          ??consul?{
          ????cluster?=?"default"
          ????serverAddr?=?"127.0.0.1:8500"
          ??}
          ??etcd3?{
          ????cluster?=?"default"
          ????serverAddr?=?"http://localhost:2379"
          ??}
          ??sofa?{
          ????serverAddr?=?"127.0.0.1:9603"
          ????application?=?"default"
          ????region?=?"DEFAULT_ZONE"
          ????datacenter?=?"DefaultDataCenter"
          ????cluster?=?"default"
          ????group?=?"SEATA_GROUP"
          ????addressWaitTime?=?"3000"
          ??}
          ??file?{
          ????name?=?"file.conf"
          ??}
          }

          config?{
          ??#?file、nacos?、apollo、zk、consul、etcd3
          ??type?=?"nacos"

          ??nacos?{
          ????serverAddr?=?"119.29.165.98:8848"
          ????namespace?=?""
          ????group?=?"SEATA_GROUP"
          ????username?=?"nacos"
          ????password?=?"nacos"
          ??}
          ??consul?{
          ????serverAddr?=?"127.0.0.1:8500"
          ??}
          ??apollo?{
          ????appId?=?"seata-server"
          ????apolloMeta?=?"http://192.168.1.204:8801"
          ????namespace?=?"application"
          ??}
          ??zk?{
          ????serverAddr?=?"127.0.0.1:2181"
          ????sessionTimeout?=?6000
          ????connectTimeout?=?2000
          ????username?=?""
          ????password?=?""
          ??}
          ??etcd3?{
          ????serverAddr?=?"http://localhost:2379"
          ??}
          ??file?{
          ????name?=?"file.conf"
          ??}
          }

          4、GitHub下載seata源碼,鏈接:https://github.com/seata/seata/tree/v1.3.0。解壓后找到script文件夾下的config-center,修改該文件夾下的config.txt文件,config.txt文件內(nèi)容都是鍵值對(duì),后面要通過腳本把該文件中的配置導(dǎo)入到nacos中。

          transport.type=TCP
          transport.server=NIO
          transport.heartbeat=true
          transport.enableClientBatchSendRequest=false
          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
          #這里的名字與file.conf中vgroup_mapping.my_test_tx_group?=?"default"相同
          service.vgroupMapping.my_test_tx_group=default
          #這里的名字與file.conf中default.grouplist?=?"127.0.0.1:8091"相同
          service.default.grouplist=127.0.0.1:8091
          service.enableDegrade=false
          service.disableGlobalTransaction=false
          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.sqlParserType=druid
          client.rm.reportSuccessEnable=false
          client.rm.sagaBranchRegisterEnable=false
          client.tm.commitRetryCount=5
          client.tm.rollbackRetryCount=5
          client.tm.degradeCheck=false
          client.tm.degradeCheckAllowTimes=10
          client.tm.degradeCheckPeriod=2000
          #這里修改為db
          store.mode=db
          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
          #如果是mysql8.0以上,則修改為如下驅(qū)動(dòng),不是則不修改
          store.db.driverClassName=com.mysql.cj.jdbc.Driver
          #修改為你自己的數(shù)據(jù)庫(kù)連接
          store.db.url=jdbc:mysql://127.0.0.1:3306/seata?useUnicode=true&useSSL=false&characterEncoding=utf8&serverTimezone=Asia/Shanghai
          store.db.user=root
          store.db.password=root
          store.db.minConn=5
          store.db.maxConn=30
          store.db.globalTable=global_table
          store.db.branchTable=branch_table
          store.db.queryLimit=100
          store.db.lockTable=lock_table
          store.db.maxWait=5000
          store.redis.host=127.0.0.1
          store.redis.port=6379
          store.redis.maxConn=10
          store.redis.minConn=1
          store.redis.database=0
          store.redis.password=null
          store.redis.queryLimit=100
          server.recovery.committingRetryPeriod=1000
          server.recovery.asynCommittingRetryPeriod=1000
          server.recovery.rollbackingRetryPeriod=1000
          server.recovery.timeoutRetryPeriod=1000
          server.maxCommitRetryTimeout=-1
          server.maxRollbackRetryTimeout=-1
          server.rollbackRetryTimeoutUnlockEnable=false
          client.undo.dataValidation=true
          client.undo.logSerialization=jackson
          client.undo.onlyCareUpdateColumns=true
          server.undo.logSaveDays=7
          server.undo.logDeletePeriod=86400000
          client.undo.logTable=undo_log
          client.log.exceptionRate=100
          transport.serialization=seata
          transport.compressor=none
          metrics.enabled=false
          metrics.registryType=compact
          metrics.exporterList=prometheus
          metrics.exporterPrometheusPort=9898

          5、將config.txt推送到Nacos,找到源碼中的script\config-center\nacos下的nacos-config.sh,可用git bash終端運(yùn)行命令:

          sh?nacos-config.sh?ip

          運(yùn)行成功之后,可在nacos配置中心中看到相關(guān)配置。

          6、啟動(dòng)seata-server服務(wù),找到bin下面的seata-server.bat(windows下),運(yùn)行即可,啟動(dòng)成功后,可在nacos服務(wù)里看到seata-server服務(wù)

          7、引入seata依賴


          ????com.alibaba.cloud
          ????spring-cloud-starter-alibaba-seata
          ????
          ????????
          ????????????io.seata
          ????????????seata-all
          ????????

          ????



          ????io.seata
          ????seata-spring-boot-starter
          ????1.3.0

          8、建mysql seata相關(guān)數(shù)據(jù)庫(kù),此處略過

          9、編寫業(yè)務(wù)代碼,此處略過




          粉絲福利:實(shí)戰(zhàn)springboot+CAS單點(diǎn)登錄系統(tǒng)視頻教程免費(fèi)領(lǐng)取

          ???

          ?長(zhǎng)按上方微信二維碼?2 秒
          即可獲取資料



          感謝點(diǎn)贊支持下哈?

          瀏覽 95
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  午夜视频一区 | 精品乱子伦一区二区三区在线播放 | 日本久久精品一区 | 天天日天开 | 操逼非常好非常棒的视频 |