您好,登錄后才能下訂單哦!
今天就跟大家聊聊有關seata中怎么利用nacos實現分布式事務,可能很多人都不太了解,為了讓大家更加了解,小編給大家總結了以下內容,希望大家根據這篇文章可以有所收獲。
1.需要準備的文件
1)nacos1.3.2
下載地址:
https://github.com/alibaba/nacos/releases
2)seata1.3.0:
下載地址:
https://github.com/seata/seata/releases
3)seata數據庫初始化腳本(seata從0.9版本之后需要單獨下載)
下載地址:
https://github.com/seata/seata/tree/develop/script/server/db,這里我用的是mysql數據庫,這里下載mysql.sql
4)seata配置文件1:config.txt(seata從0.9版本之后需要單獨下載)
下載地址:
https://github.com/seata/seata/tree/develop/script/config-center
5)seata配置文件2:nacos-config.sh(seata從0.9版本之后需要單獨下載)
下載地址:
https://github.com/seata/seata/tree/develop/script/config-center/nacos
6)seata事務表undo_log,實現分布式事務的各個微服務對應的數據庫,必須要有一張undo_log表,這
里暫時用不到,下篇文章實戰中會用到,
下載地址:(選mysql.sql)
https://github.com/seata/seata/tree/develop/script/client/at/db
2.nacos1.3.2安裝(win10環境)
1)將nacos-server-1.3.2.zip下載解壓,解壓后目錄結構如下:
2)nacos默認內置deby數據庫,這里修改為mysql,將數據持久化到mysql數據庫中,修改conf下的application.properties文件,如下圖所示:
3)我這里數據庫名稱為nacos_config,執行conf下的schema.sql文件對nacos數據庫進行初始化,執行完畢后下面有幾張表,如下圖所示:
4)默認nacos啟動時集群模式,這里我修改bin目錄下的startup.cmd文件,讓他默認啟動模式為standalone模式,如下圖所示:
5)執行執行startup.cmd啟動nacos,默認端口是8848,默認登錄用戶:nacos,密碼:nacos,可看到如下界面,說明nacos安裝成功:
3.seata1.3.0安裝(win10環境)
1)將seata-server-1.3.0.zip下載解壓,解壓后目錄結構如下:
2)這里我們將seata數據也持久化到mysql中,新建seata數據庫執行上面下載的mysql.sql腳本,生產三張表,如下圖所示:
3)修改conf目錄下的registry.conf文件,修改后端存儲為mysql數據庫:
4)修改conf目錄下的file.conf文件,將seata注冊到nacos中:
這里我整理了一個模板,里面詳細說明了各個配置項的含義:
# 注冊中心registry { # file 、nacos 、eureka、redis、zk、consul、etcd3、sofa # 如果是file,則需要配置file.conf # 因為本例使用nacos,此處填寫nacos type = "nacos" # 【重要】此處是nacos中的服務注冊配置 nacos { # 【重要】本服務端在nacos中的微服務名稱,后面seata客戶端的application.yml中要用到 application = "serverAddr" # nacos地址(默認為8848,筆者此處做了負載均衡改了端口) serverAddr = "127.0.0.1:8848" # seata-server微服務的分組 group = "SEATA_GROUP" # seata-server微服務的命名空間,此處省略,使用默認值public namespace = "" # 【重要】seata-server作為集群時的集群名字,與前面nacos中設定事務分組屬性(service.vgroupMapping.my_test_tx_group)保持一致 cluster = "default" # nacos1.2加入了鑒權,賬號密碼不可省略 username = "nacos" password = "nacos" }}# 配置中心config { # file、nacos 、apollo、zk、consul、etcd3 # 因為本例使用nacos,此處填寫nacos type = "nacos" nacos { serverAddr = "127.0.0.1:8848" namespace = "" # 【重要】本服務端的配置在nacos配置列表哪個分組下,要與上面推送到nacos的分組列表保持一致,默認是SEATA_GROUP。 group = "SEATA_GROUP" username = "nacos" password = "nacos" }}
5)接下來通過腳本向nacos導入配置,將config.txt放到根目錄,將nacos-config.sh放置到conf目錄,如下圖所示:
通過git bash執行nacos-config.sh將配置導入到nacos中:
執行成功后,可在nacos中看到seata配置信息,執行過程中可能會報一些redis等的錯誤,由于我們只用到了nacos,可直接忽略即可,如下圖所示:
6)進入bin目錄,執行seata-server.bat啟動seata-server,啟動成功后可在nacos中看到以下服務信息:
看完上述內容,你們對seata中怎么利用nacos實現分布式事務有進一步的了解嗎?如果還想了解更多知識或者相關內容,請關注億速云行業資訊頻道,感謝大家的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。