阿里巴巴分佈式事務利器Seata環境準備

阿里巴巴自從跟SpringCloud共同發起建立微服務開源社區時,在生態內提供了一款適用於分佈式應用程序(DubboSpringCloud)的事務框架Seata,該框架通過多個大版本的發佈,已經支持MySQLOracle這兩種數據庫事務回滾(Rollback)以及提交(Commit)控制,每次發版都會修復一些用戶反饋的Issue以及添加一些新特性。git

安裝Seata Server

Seata目前在github託管開源源代碼,源碼地址:https://github.com/seata/seatagithub

Seata每次發版都會提供Server在不一樣系統下的執行腳本,能夠在Linux/Mac/Windows系統環境下直接執行腳原本啓動。redis

下載Seata Server

咱們經過githubreleases界面下載seata最新發布的server編譯後的啓動程序,下載地址:Seata Server最新版本下載sql

根據系統運行環境下載不一樣的壓縮文件,Mac/Linux能夠選擇下載seata-server-xxx.tar.gzWindows能夠選擇下載seata-server-xxx.zip數據庫

解壓Seata Server

Mac/Linux系統下咱們經過如下命令來解壓tar.gz壓縮文件:bash

~ tar -xvf seata-server-xxx.tar.gz
~ cd seata
~ ls
bin  conf  lib  LICENSE

解壓完成後咱們獲得了幾個文件夾。框架

  • bin

    存放各個系統的seata server啓動腳本分佈式

  • conf

    存在seata server啓動時所須要的配置信息、數據庫模式下所須要的建表語句微服務

  • lib

    運行seata server所須要的依賴包列表.net

配置Seata Server

seata server全部的配置都在conf文件夾內,該文件夾內有兩個文件咱們必需要詳細介紹下。

seata server默認使用file(文件方式)進行存儲事務日誌事務運行信息,咱們能夠經過-m db腳本參數的形式來指定,目前僅支持filedb這兩種方式。

  • file.conf

    該文件用於配置存儲方式透傳事務信息的NIO等信息,默認對應registry.conf文件內的file方式配置。

  • registry.conf

    seata server核心配置文件,能夠經過該文件配置服務註冊方式配置讀取方式

    註冊方式目前支持file 、nacos 、eureka、redis、zk、consul、etcd三、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啓動方式示例以下所示:

nohup sh seata-server.sh -p 8091 -h 127.0.0.1 -m file &> seata.log &

經過nohup命令讓seata server在系統後臺運行。

腳本參數:

  • -p

    指定啓動seata server的端口號。

  • -h

    指定seata server所綁定的主機,這裏配置要注意指定的主機IP要與業務服務內的配置文件保持一致,如:-h 192.168.1.10,業務服務配置文件內應該配置192.168.1.10,即便在同一臺主機上也要保持一致。

  • -m

    事務日誌、事務執行信息存儲的方式,目前支持file(文件方式)、db(數據庫方式,建表語句請查看config/db_store.sqlconfig/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 發佈!
相關文章
相關標籤/搜索