日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区

您的位置:首頁(yè)技術(shù)文章
文章詳情頁(yè)

Docker+nacos+seata1.3.0安裝與使用配置教程

瀏覽:281日期:2024-10-25 08:27:03

在此之前我搞了一天,雖然seata好用,用起來(lái)也超級(jí)簡(jiǎn)單,但是安裝配置是真的麻煩,遇見了各種坑,下面來(lái)進(jìn)入正題。o(???)o

一 . 版本

注意:如果版本不匹配也會(huì)有各種報(bào)錯(cuò),可以根據(jù)官網(wǎng)匹配版本。

seata:1.3.0alibaba.cloud:2.2.3.RELEASEnacos:2.0.2二. docker安裝搭建seata服務(wù)端

2.1 下載seata鏡像

docker pull seataio/seata-server:1.3.0

2.2 在Linux目錄下創(chuàng)建registry.conf,我的路徑在/data/seate/registry.conf,接下來(lái)的所有創(chuàng)建都在這個(gè)目錄下

cd /datamkdir seatevim registry.conf

2.3 registry.conf中的內(nèi)容如下

registry { type = 'nacos' nacos { application = 'seata-server' serverAddr = '127.0.0.1:8848' group = 'SEATA_GROUP' namespace = '' cluster = 'default' username = '' password = '' }} config { type = 'nacos' nacos { serverAddr = '127.0.0.1:8848' namespace = '' group = 'SEATA_GROUP' username = '' password = '' }}

注意registry和config需要在同一個(gè)組下,注冊(cè)中心我用的是nacos,注意nacos的地址要改。

----->>>這里我插一句,需要新建一個(gè)數(shù)據(jù)庫(kù)seata,并且新建三張表,

-- -------------------------------- The script used when storeMode is ’db’ ---------------------------------- the table to store GlobalSession dataCREATE TABLE IF NOT EXISTS `global_table`( `xid` VARCHAR(128) NOT NULL, `transaction_id` BIGINT, `status` TINYINT NOT NULL, `application_id` VARCHAR(32), `transaction_service_group` VARCHAR(32), `transaction_name` VARCHAR(128), `timeout` INT, `begin_time`BIGINT, `application_data` VARCHAR(2000), `gmt_create`DATETIME, `gmt_modified` DATETIME, PRIMARY KEY (`xid`), KEY `idx_gmt_modified_status` (`gmt_modified`, `status`), KEY `idx_transaction_id` (`transaction_id`)) ENGINE = InnoDB DEFAULT CHARSET = utf8; -- the table to store BranchSession dataCREATE TABLE IF NOT EXISTS `branch_table`( `branch_id` BIGINT NOT NULL, `xid` VARCHAR(128) NOT NULL, `transaction_id` BIGINT, `resource_group_id` VARCHAR(32), `resource_id` VARCHAR(256), `branch_type` VARCHAR(8), `status` TINYINT, `client_id` VARCHAR(64), `application_data` VARCHAR(2000), `gmt_create`DATETIME(6), `gmt_modified` DATETIME(6), PRIMARY KEY (`branch_id`), KEY `idx_xid` (`xid`)) ENGINE = InnoDB DEFAULT CHARSET = utf8; -- the table to store lock dataCREATE TABLE IF NOT EXISTS `lock_table`( `row_key`VARCHAR(128) NOT NULL, `xid` VARCHAR(96), `transaction_id` BIGINT, `branch_id` BIGINT NOT NULL, `resource_id` VARCHAR(256), `table_name` VARCHAR(32), `pk` VARCHAR(36), `gmt_create` DATETIME, `gmt_modified` DATETIME, PRIMARY KEY (`row_key`), KEY `idx_branch_id` (`branch_id`)) ENGINE = InnoDB DEFAULT CHARSET = utf8;

實(shí)現(xiàn)分布式每個(gè)業(yè)務(wù)庫(kù)都要加一張表undo_log,不然會(huì)報(bào)錯(cuò),

CREATE TABLE `undo_log` ( `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT ’主鍵’, `branch_id` bigint(20) NOT NULL COMMENT ’branch transaction id’, `xid` varchar(100) NOT NULL COMMENT ’global transaction id’, `context` varchar(128) NOT NULL COMMENT ’undo_log context,such as serialization’, `rollback_info` longblob NOT NULL COMMENT ’rollback info’, `log_status` int(11) NOT NULL COMMENT ’0:normal status,1:defense status’, `log_created` datetime(6) NOT NULL COMMENT ’create datetime’, `log_modified` datetime(6) NOT NULL COMMENT ’modify datetime’, PRIMARY KEY (`id`), UNIQUE KEY `ux_undo_log` (`xid`,`branch_id`)) ENGINE=InnoDB AUTO_INCREMENT=9 DEFAULT CHARSET=utf8 COMMENT=’AT transaction mode undo table’;

2.4 創(chuàng)建推送配置文件 vim config.txt,是將文件中的配置推送到nacos中去。

vim config.txt

service.vgroupMapping.btb_tx_group=defaultstore.mode=dbstore.db.datasource=druidstore.db.dbType=mysqlstore.db.driverClassName=com.mysql.cj.jdbc.Driverstore.db.url=jdbc:mysql://172.0.0.1:3306/seata?useUnicode=truestore.db.user=rootstore.db.password=rootstore.db.minConn=5store.db.maxConn=30store.db.globalTable=global_tablestore.db.branchTable=branch_tablestore.db.queryLimit=100store.db.lockTable=lock_tablestore.db.maxWait=5000

注意btb_tx_group需要與客戶端保持一致,順便注意數(shù)據(jù)庫(kù)驅(qū)動(dòng),如果是8以上用我的這個(gè)驅(qū)動(dòng),5.7的用com.mysql.jdbc.Driver

2.5 創(chuàng)建推送腳本,因?yàn)閳?zhí)行腳本要在config.txt的下一層,所有加一層目錄

mkdir shcd shvim nacos-config.sh

內(nèi)容如下:最好不要有任何的修改

#!/usr/bin/env bash# Copyright 1999-2019 Seata.io Group.## Licensed under the Apache License, Version 2.0 (the 'License');# you may not use this file except in compliance with the License.# You may obtain a copy of the License at、## http://www.apache.org/licenses/LICENSE-2.0## Unless required by applicable law or agreed to in writing, software# distributed under the License is distributed on an 'AS IS' BASIS,# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.# See the License for the specific language governing permissions and# limitations under the License. while getopts ':h:p:g:t:u:w:' optdo case $opt in h) host=$OPTARG ;; p) port=$OPTARG ;; g) group=$OPTARG ;; t) tenant=$OPTARG ;; u) username=$OPTARG ;; w) password=$OPTARG ;; ?) echo ' USAGE OPTION: $0 [-h host] [-p port] [-g group] [-t tenant] [-u username] [-w password] ' exit 1 ;; esacdone if [[ -z ${host} ]]; then host=localhostfiif [[ -z ${port} ]]; then port=8848fiif [[ -z ${group} ]]; then group='SEATA_GROUP'fiif [[ -z ${tenant} ]]; then tenant=''fiif [[ -z ${username} ]]; then username=''fiif [[ -z ${password} ]]; then password=''fi nacosAddr=$host:$portcontentType='content-type:application/json;charset=UTF-8' echo 'set nacosAddr=$nacosAddr'echo 'set group=$group' failCount=0tempLog=$(mktemp -u)function addConfig() { curl -X POST -H '${contentType}' 'http://$nacosAddr/nacos/v1/cs/configs?dataId=$1&group=$group&content=$2&tenant=$tenant&username=$username&password=$password' >'${tempLog}' 2>/dev/null if [[ -z $(cat '${tempLog}') ]]; then echo ' Please check the cluster status. ' exit 1 fi if [[ $(cat '${tempLog}') =~ 'true' ]]; then echo 'Set $1=$2 successfully ' else echo 'Set $1=$2 failure ' (( failCount++ )) fi} count=0for line in $(cat $(dirname '$PWD')/config.txt | sed s/[[:space:]]//g); do (( count++ ))key=${line%%=*} value=${line#*=}addConfig '${key}' '${value}'done echo '========================================================================='echo ' Complete initialization parameters, total-count:$count , failure-count:$failCount 'echo '=========================================================================' if [[ ${failCount} -eq 0 ]]; thenecho ' Init nacos config finished, please start seata-server. 'elseecho ' init nacos config fail. 'fi

2.6 執(zhí)行推送腳本,后面是nacos的ip地址,如果端口不是8848還需要加一個(gè)-p 8884你的端口

bash nacos-config.sh -h 127.0.0.1

2.7 創(chuàng)建容器,注意SEATA_IP如果是阿里云服務(wù)器需要寫外網(wǎng)ip

docker run -d --restart always --name seata-server -p 8091:8091 -e SEATA_IP=172.0.0.1 -e SEATA_CONFIG_NAME=file:/data/seata/registry -v /data/seata:/data/seata seataio/seata-server:1.3.0三 . 客戶端(也就是微服務(wù),項(xiàng)目中使用seata)

3.1 pom.xml 引入依賴

<!-- seata分布式事務(wù)--><dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>spring-cloud-starter-alibaba-seata</artifactId> <exclusions><exclusion> <groupId>io.seata</groupId> <artifactId>seata-spring-boot-starter</artifactId></exclusion> </exclusions></dependency><dependency> <groupId>io.seata</groupId> <artifactId>seata-spring-boot-starter</artifactId> <version>1.3.0</version></dependency>

注意這里一定要剔除原來(lái)自帶的 io.seata包,并且服務(wù)端和客戶端的包版本要一致。

3.2 配置項(xiàng)目配置文件

#seataseata.application-id=${spring.application.name}seata.tx-service-group=btb_tx_groupseata.config.type=nacosseata.config.nacos.server-addr=172.0.0.1:8848seata.config.nacos.group=SEATA_GROUPseata.registry.type=nacosseata.registry.nacos.application=seata-serverseata.registry.nacos.server-addr=172.0.0.1:8848seata.registry.nacos.group=SEATA_GROUP

注意:這里的btb_tx_group要跟服務(wù)端的vgroupMapping后面的key保持一致,

如:service.vgroupMapping.btb_tx_group=default

3.3 加入注解使用

@GlobalTransactional

擴(kuò)展: 我用的是一個(gè)數(shù)據(jù)庫(kù),執(zhí)行報(bào)錯(cuò),說我缺少主鍵,于是我在表undo_log加了一個(gè)增的主鍵id,上面的創(chuàng)建undo_log表的sql是我加了id的,官方給的是沒有id的。請(qǐng)知曉!!!!

Docker+nacos+seata1.3.0安裝與使用配置教程

問題:單數(shù)源是有報(bào)錯(cuò)的,原因是因?yàn)槲沂且粋€(gè)數(shù)據(jù)庫(kù),需要設(shè)置代理配置如下 ,根據(jù)自己實(shí)際情況是指配置文件,不然會(huì)報(bào)錯(cuò)

#單數(shù)據(jù)源seata.enable-auto-data-source-proxy=true#多數(shù)據(jù)源seata.enable-auto-data-source-proxy=false

到此這篇關(guān)于Docker+nacos+seata1.3.0安裝與使用的文章就介紹到這了,更多相關(guān)Docker+nacos+seata安裝使用內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!

標(biāo)簽: Docker
相關(guān)文章:
日本不卡不码高清免费观看,久久国产精品久久w女人spa,黄色aa久久,三上悠亚国产精品一区二区三区
久久精品影视| 亚洲精品国产嫩草在线观看| 欧美在线综合| av成人国产| 久久免费视频66| 国产激情综合| 黑人精品一区| 成人免费一区| 偷拍精品精品一区二区三区| 成人av二区| 亚洲精品乱码久久久久久蜜桃麻豆| 国产日韩欧美一区二区三区在线观看| 精品网站999| 国产精品v一区二区三区| 欧美日韩一区二区三区不卡视频| 综合激情网站| 日韩视频网站在线观看| 久久九九精品| 亚洲精华国产欧美| 亚洲国产一区二区在线观看| 亚洲欧洲一区二区天堂久久| 黄色成人在线网址| 91精品麻豆| 精品美女久久| 欧美另类综合| 一区二区亚洲视频| 欧美天堂一区| 性欧美精品高清| 国产精品毛片在线| 91精品福利| 色婷婷色综合| 亚洲男女av一区二区| 国产精品一区亚洲| 亚洲香蕉久久| 色爱综合网欧美| 国产精品久久久久久久久久白浆| 久久国产欧美| 动漫av一区| 亚洲精品第一| 一区二区国产在线观看| 91嫩草精品| 国产一区日韩| 亚洲美洲欧洲综合国产一区| 国产精品v日韩精品v欧美精品网站 | 98精品久久久久久久| 另类专区亚洲| 欧美另类专区| 欧美日韩xxxx| 欧美成a人免费观看久久| 另类国产ts人妖高潮视频| 国产欧美欧美| 欧美日韩精品在线一区| 亚洲日产av中文字幕| 久久精品天堂| 午夜视频精品| 国产精品一区高清| 亚洲一区资源| 亚洲一区二区三区久久久| 久久这里只有| 午夜欧美精品| 国产精品久久久一区二区| 999国产精品视频| 日韩1区2区日韩1区2区| 国产综合色区在线观看| 亚洲色图网站| 国产在线看片免费视频在线观看| 免费久久精品视频| 国产精品99一区二区三| 欧美特黄一级| 国产精品亚洲成在人线| 精品美女久久| 91精品国产乱码久久久久久久| 久久国产亚洲精品| 欧美日韩国产亚洲一区| 亚洲三级毛片| 国产精品啊啊啊| 日韩视频一区| 国产欧美日韩一级| 亚洲精品影视| 久久精品免视看国产成人| 免费人成在线不卡| 最新中文字幕在线播放| 青青草国产成人99久久| 欧美日韩视频| 国产超碰精品| 国产精品成人自拍| 欧美日韩国产综合网| 国产96在线亚洲| 日韩av中文在线观看| 亚洲电影在线一区二区三区| 精品视频在线观看网站| 亚洲一区二区三区在线免费| 日韩综合精品| 老司机免费视频一区二区| 久久伦理在线| 久久av影视| 亚洲欧美久久久| 欧美精品91| 美女尤物久久精品| 欧美一区二区三区激情视频| 国产精品白丝久久av网站| 伊人精品在线| 久久视频国产| 欧美男人天堂| 欧美精品影院| 日韩三区四区| 99视频精品视频高清免费| 国产区精品区| 热久久免费视频| 99久久99视频只有精品| 欧美国产中文高清| 日韩一区中文| 91伊人久久| 国产精品夜夜夜| 蜜臀久久久久久久| 色婷婷色综合| 国产欧美日本| 日本午夜精品一区二区三区电影| 日韩午夜在线| 欧美日韩精品免费观看视频完整| 亚洲不卡系列| 91精品一区二区三区综合| 久久久亚洲一区| 色偷偷偷在线视频播放| 水蜜桃久久夜色精品一区| 久久91视频| 精品日韩一区| 久久久久免费| 日韩精品诱惑一区?区三区| 久久久久久网| 日韩中文影院| 99精品网站| 99久久激情| 自拍日韩欧美| 久久国产精品久久w女人spa| 三级在线观看一区二区| 亚洲三级网址| 国产亚洲精aa在线看| 欧美视频一区| 国产精品手机在线播放| 免费看久久久| 成人精品动漫一区二区三区| 色婷婷精品视频| 亚洲精品一区二区在线看| 噜噜噜躁狠狠躁狠狠精品视频 | 国产剧情在线观看一区| 麻豆久久精品| 国产精品自拍区| 久久国产直播| 综合亚洲色图| 国产精品久久观看| 欧美国产小视频| 秋霞影视一区二区三区| 国产在线不卡| 水蜜桃久久夜色精品一区的特点| 丝袜a∨在线一区二区三区不卡| 中文精品视频| 日韩精品亚洲专区在线观看| 国产精品久久乐| 日韩精品免费一区二区在线观看| 亚洲二区三区不卡| 亚洲精品无播放器在线播放| 国产精品免费不| 日韩欧美视频专区| 国产毛片久久| 国产精品4hu.www| 韩国精品主播一区二区在线观看| 国产精品日本| 国产精品啊啊啊| 91精品国产调教在线观看| 视频一区视频二区中文字幕| 日韩精品成人在线观看| 久久精品国产福利| 日韩在线二区| 免费久久99精品国产| 国产精品亚洲综合色区韩国| 日本免费一区二区三区四区| 久久国产66| 精品丝袜久久| 亚洲尤物在线| 久久不见久久见国语| 久久精品观看| 亚洲精品乱码久久久久久蜜桃麻豆 | 亚洲精品女人| 日韩精品久久久久久久电影99爱| 国产精品久久久久久久久久齐齐 | 在线看片日韩| 久久一区视频| 三上悠亚国产精品一区二区三区 | 国产日韩亚洲欧美精品| 日韩福利一区| 日韩一区精品| 日韩在线不卡| 日韩成人一级| 欧美亚洲国产精品久久| 日韩成人午夜精品| 欧美一区二区三区高清视频| 国产一卡不卡| 伊人影院久久| 国产一区二区三区不卡av|