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