今天就跟大家聊聊有關(guān)seata中怎么利用nacos實(shí)現(xiàn)分布式事務(wù),可能很多人都不太了解,為了讓大家更加了解,小編給大家總結(jié)了以下內(nèi)容,希望大家根據(jù)這篇文章可以有所收獲。
白云ssl適用于網(wǎng)站、小程序/APP、API接口等需要進(jìn)行數(shù)據(jù)傳輸應(yīng)用場(chǎng)景,ssl證書(shū)未來(lái)市場(chǎng)廣闊!成為創(chuàng)新互聯(lián)的ssl證書(shū)銷售渠道,可以享受市場(chǎng)價(jià)格4-6折優(yōu)惠!如果有意向歡迎電話聯(lián)系或者加微信:18980820575(備注:SSL證書(shū)合作)期待與您的合作!
1.需要準(zhǔn)備的文件
1)nacos1.3.2
下載地址:
https://github.com/alibaba/nacos/releases
2)seata1.3.0:
下載地址:
https://github.com/seata/seata/releases
3)seata數(shù)據(jù)庫(kù)初始化腳本(seata從0.9版本之后需要單獨(dú)下載)
下載地址:
https://github.com/seata/seata/tree/develop/script/server/db,這里我用的是MySQL數(shù)據(jù)庫(kù),這里下載mysql.sql
4)seata配置文件1:config.txt(seata從0.9版本之后需要單獨(dú)下載)
下載地址:
https://github.com/seata/seata/tree/develop/script/config-center
5)seata配置文件2:nacos-config.sh(seata從0.9版本之后需要單獨(dú)下載)
下載地址:
https://github.com/seata/seata/tree/develop/script/config-center/nacos
6)seata事務(wù)表undo_log,實(shí)現(xiàn)分布式事務(wù)的各個(gè)微服務(wù)對(duì)應(yīng)的數(shù)據(jù)庫(kù),必須要有一張undo_log表,這
里暫時(shí)用不到,下篇文章實(shí)戰(zhàn)中會(huì)用到,
下載地址:(選mysql.sql)
https://github.com/seata/seata/tree/develop/script/client/at/db
2.nacos1.3.2安裝(win10環(huán)境)
1)將nacos-server-1.3.2.zip下載解壓,解壓后目錄結(jié)構(gòu)如下:
2)nacos默認(rèn)內(nèi)置deby數(shù)據(jù)庫(kù),這里修改為mysql,將數(shù)據(jù)持久化到mysql數(shù)據(jù)庫(kù)中,修改conf下的application.properties文件,如下圖所示:
3)我這里數(shù)據(jù)庫(kù)名稱為nacos_config,執(zhí)行conf下的schema.sql文件對(duì)nacos數(shù)據(jù)庫(kù)進(jìn)行初始化,執(zhí)行完畢后下面有幾張表,如下圖所示:
4)默認(rèn)nacos啟動(dòng)時(shí)集群模式,這里我修改bin目錄下的startup.cmd文件,讓他默認(rèn)啟動(dòng)模式為standalone模式,如下圖所示:
5)執(zhí)行執(zhí)行startup.cmd啟動(dòng)nacos,默認(rèn)端口是8848,默認(rèn)登錄用戶:nacos,密碼:nacos,可看到如下界面,說(shuō)明nacos安裝成功:
3.seata1.3.0安裝(win10環(huán)境)
1)將seata-server-1.3.0.zip下載解壓,解壓后目錄結(jié)構(gòu)如下:
2)這里我們將seata數(shù)據(jù)也持久化到mysql中,新建seata數(shù)據(jù)庫(kù)執(zhí)行上面下載的mysql.sql腳本,生產(chǎn)三張表,如下圖所示:
3)修改conf目錄下的registry.conf文件,修改后端存儲(chǔ)為mysql數(shù)據(jù)庫(kù):
4)修改conf目錄下的file.conf文件,將seata注冊(cè)到nacos中:
這里我整理了一個(gè)模板,里面詳細(xì)說(shuō)明了各個(gè)配置項(xiàng)的含義:
# 注冊(cè)中心registry { # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa # 如果是file,則需要配置file.conf # 因?yàn)楸纠褂胣acos,此處填寫(xiě)nacos type = "nacos" # 【重要】此處是nacos中的服務(wù)注冊(cè)配置 nacos { # 【重要】本服務(wù)端在nacos中的微服務(wù)名稱,后面seata客戶端的application.yml中要用到 application = "serverAddr" # nacos地址(默認(rèn)為8848,筆者此處做了
5)接下來(lái)通過(guò)腳本向nacos導(dǎo)入配置,將config.txt放到根目錄,將nacos-config.sh放置到conf目錄,如下圖所示:
通過(guò)git bash執(zhí)行nacos-config.sh將配置導(dǎo)入到nacos中:
執(zhí)行成功后,可在nacos中看到seata配置信息,執(zhí)行過(guò)程中可能會(huì)報(bào)一些redis等的錯(cuò)誤,由于我們只用到了nacos,可直接忽略即可,如下圖所示:
6)進(jìn)入bin目錄,執(zhí)行seata-server.bat啟動(dòng)seata-server,啟動(dòng)成功后可在nacos中看到以下服務(wù)信息:
看完上述內(nèi)容,你們對(duì)seata中怎么利用nacos實(shí)現(xiàn)分布式事務(wù)有進(jìn)一步的了解嗎?如果還想了解更多知識(shí)或者相關(guān)內(nèi)容,請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝大家的支持。