阿里巴巴自從跟SpringCloud共同發起建立微服務開源社區時,在生態內提供了一款適用於分佈式應用程序(Dubbo
、SpringCloud
)的事務框架Seata
,該框架通過多個大版本的發佈,已經支持MySQL
、Oracle
這兩種數據庫事務回滾(Rollback
)以及提交(Commit
)控制,每次發版都會修復一些用戶反饋的Issue
以及添加一些新特性。git
Seata
目前在github
託管開源源代碼,源碼地址:https://github.com/seata/seatagithub
Seata
每次發版都會提供Server
在不一樣系統下的執行腳本,能夠在Linux/Mac/Windows
系統環境下直接執行腳原本啓動。redis
咱們經過github
的releases
界面下載seata
最新發布的server
編譯後的啓動程序,下載地址:Seata Server最新版本下載sql
根據系統運行環境下載不一樣的壓縮文件,Mac/Linux
能夠選擇下載seata-server-xxx.tar.gz
,Windows
能夠選擇下載seata-server-xxx.zip
。數據庫
在Mac/Linux
系統下咱們經過如下命令來解壓tar.gz
壓縮文件:bash
~ tar -xvf seata-server-xxx.tar.gz ~ cd seata ~ ls bin conf lib LICENSE
解壓完成後咱們獲得了幾個文件夾。框架
存放各個系統的seata server
啓動腳本分佈式
存在seata server
啓動時所須要的配置信息、數據庫模式下所須要的建表語句微服務
運行seata server
所須要的依賴包列表.net
seata server
全部的配置都在conf
文件夾內,該文件夾內有兩個文件咱們必需要詳細介紹下。
seata server
默認使用file
(文件方式)進行存儲事務日誌
、事務運行信息
,咱們能夠經過-m db
腳本參數的形式來指定,目前僅支持file
、db
這兩種方式。
該文件用於配置存儲方式
、透傳事務信息的NIO
等信息,默認對應registry.conf
文件內的file
方式配置。
seata server
核心配置文件,能夠經過該文件配置服務註冊方式
、配置讀取方式
。
註冊方式目前支持file 、nacos 、eureka、redis、zk、consul、etcd三、sofa等方式,默認爲file
,對應讀取file.conf
內的註冊方式信息。
讀取配置信息的方式支持file、nacos 、apollo、zk、consul、etcd3等方式,默認爲file
,對應讀取file.conf
文件內的配置。
啓動seata server
的腳本位於bin
文件內,Linux/Mac
環境使用seata-server.sh腳本啓動,Windows
環境使用seata-server.bat腳本啓動。
Linux/Mac
啓動方式示例以下所示:
nohup sh seata-server.sh -p 8091 -h 127.0.0.1 -m file &> seata.log &
經過nohup
命令讓seata server
在系統後臺運行。
腳本參數:
指定啓動seata server
的端口號。
指定seata server
所綁定的主機
,這裏配置要注意指定的主機IP要與業務服務內的配置文件保持一致,如:-h 192.168.1.10
,業務服務配置文件內應該配置192.168.1.10
,即便在同一臺主機上也要保持一致。
事務日誌、事務執行信息存儲的方式,目前支持file
(文件方式)、db
(數據庫方式,建表語句請查看config/db_store.sql
、config/db_undo_log.sql
)
執行完啓動腳本後要查看日誌來確認是否啓動成功,使用以下命令:
~ tail -1000f seata.log ..... 2019-10-10 14:33:51.340 INFO [main]io.seata.core.rpc.netty.AbstractRpcRemotingServer.start:156 -Server started ...
當咱們看到-Server started
時並未發現其餘錯誤信息,咱們的seata server
已經啓動成功。
本文由博客一文多發平臺 OpenWrite 發佈!