前言
上一篇老顧介紹了Seata基本原理,今天老顧來介紹一下Seata的基本使用,可以避免讓小夥伴們入坑,小夥伴們也要動手操作哦!
版本對應關係
經常看老顧文章的小夥伴們,應該清楚老顧是一直推薦SpringCloud Alibaba的系統的組件的,而且Seata也是阿里開源出來的,所以大家一定要知道SpringCloud Alibaba的生態的組件版本關係。
目錄說明
到github中的seata項目中,下載release;並查看源文件中有個script文件
client目錄
此目錄存放用於客戶端的配置和SQL
- at:AT模式下的undo_log建表語句
- conf:客戶端的配置文件
- saga:saga模式下所需表的建表語句
- spirng:SpringBoot應用支持的配置文件
server目錄
- db:server端,如模式爲db時 所需表的建表語句
- docker-compose:docker容器化部署
- helm/kubernetes:k8s相關的部署
config-center目錄
用於存放各種配置中心的初始化腳本文件;小夥伴們從文件夾名稱中,一看就知道對應什麼配置中心了。
我們看nacos-config.sh腳本文件中,就能夠發現需要讀取config.txt。
安裝Seata-Server
seata-server的包比較難下載,github上比較慢,小夥伴們懂的
下載好了後,就看到
我們這次就把seata和nacos相結合。
創建Seata數據庫
我們在源文件中script中的server/db目錄中,打開mysql.sql,因爲老顧這裏使用的是mysql數據庫;這個是在server存儲模式爲db數據庫時纔會有效,也是官方推薦的方式。
config.txt配置
此文件是執行配置中心腳本時,都會讀取的文件,裏面配置了核心信息
上面的自定義組名,一定要記住,後面在配置客戶端應用的時候,需要配置組名一致 seata server的數據庫的配置信息
執行nacos-config
執行初始化腳本nacos-config.sh配置到nacos中
chmod +x nacos-config.sh./nacos-config.sh localhost
執行腳本,看到此信息,表示初始化數據成功,我們再來看看nacos裏面的信息。
可以在看到很多配置信息,以及Group組名爲 SEATA_GROUP。
啓動seata-server
修改seata-server目錄中的conf裏面,file.conf、registry.conf。
在registry.conf配置把seata-server註冊到nacos中 ,並且配置中心也是爲nacos。
seata-server中的配置信息放到nacos中
利用nacos作爲配置中心,需要到nacos配置中心去配置數據存儲方式,我們需要修改配置,可以到nacos裏面修改。
注意:如果registry.conf中的config爲file的話(個人測試用,生產環境不推薦),可以在file.conf中配置seata-server存儲的方式配置爲db,把事務相關的信息存儲到數據庫中
啓動運行seata
命名參考:
Usage: sh seata-server.sh(適用 linux and mac) 或者 cmd seata-server.bat(適用 windows) [options]
#可攜帶參數 Options:
--host, -h
The host to bind. # 綁定ip地址
Default: 0.0.0.0
--port, -p # 端口
The port to listen.
Default: 8091 # 默認
--storeMode, -m #啓動模式 文件 或數據庫
log store mode : file、db
Default: file ##默認
--help #幫助
示例sh seata-server.sh -p 8091 -h 127.0.0.1 -m file
我們這裏使用db數據庫存儲模式,運行 sh seata-server.sh
我們發現seata-server在nacos中已經註冊了。到此seata-server已經安裝完成。
總結
今天老顧主要介紹了seata版本關係,以及源項目中的文件目錄含義,和如何安裝seata server,在操作過程中,小夥伴們一定要注意相關的配置文件。
一定不要搞錯了對應的seata版本,之前seata的1.0.0之前的版本配置信息的位置是不一樣的,千萬記住哦。
下篇我們就介紹實戰案例,以及會遇到的一個大坑,以及解決方案。