阿里巴巴分布式事务利器Seata环境准备
阿里巴巴自從跟SpringCloud共同發(fā)起創(chuàng)建微服務(wù)開源社區(qū)時(shí),開啟了SpringCloud Alibaba分支,而且在生態(tài)內(nèi)提供了一款適用于分布式應(yīng)用程序(Dubbo、SpringCloud等)的事務(wù)框架Seata,該框架經(jīng)過多個(gè)大版本的發(fā)布,已經(jīng)支持MySQL、Oracle這兩種數(shù)據(jù)庫事務(wù)回滾(Rollback)以及提交(Commit)控制,每次發(fā)版都會修復(fù)一些用戶反饋的Issue以及添加一些新特性。
安裝Seata Server
Seata目前在github托管開源源代碼,源碼地址:https://github.com/seata/seata
Seata每次發(fā)版都會提供Server在不同系統(tǒng)下的執(zhí)行腳本,可以在Linux/Mac/Windows系統(tǒng)環(huán)境下直接執(zhí)行腳本來啟動(dòng)。
下載Seata Server
我們通過github的releases界面下載seata最新發(fā)布的server編譯后的啟動(dòng)程序,下載地址:https://github.com/seata/seata/releases
根據(jù)系統(tǒng)運(yùn)行環(huán)境下載不同的壓縮文件,Mac/Linux可以選擇下載seata-server-xxx.tar.gz,Windows可以選擇下載seata-server-xxx.zip。
解壓Seata Server
在Mac/Linux系統(tǒng)下我們通過以下命令來解壓tar.gz壓縮文件:
?
| 1 2 3 4 | ~ tar -xvf seata-server-xxx.tar.gz ~ cd seata ~ ls bin conf lib LICENSE |
解壓完成后我們得到了幾個(gè)文件夾。
-
bin
存放各個(gè)系統(tǒng)的seata server啟動(dòng)腳本
-
conf
存在seata server啟動(dòng)時(shí)所需要的配置信息、數(shù)據(jù)庫模式下所需要的建表語句
-
lib
運(yùn)行seata server所需要的依賴包列表
配置Seata Server
seata server所有的配置都在conf文件夾內(nèi),該文件夾內(nèi)有兩個(gè)文件我們必須要詳細(xì)介紹下。
seata server默認(rèn)使用file(文件方式)進(jìn)行存儲事務(wù)日志、事務(wù)運(yùn)行信息,我們可以通過-m db腳本參數(shù)的形式來指定,目前僅支持file、db這兩種方式。
-
file.conf
該文件用于配置存儲方式、透傳事務(wù)信息的NIO等信息,默認(rèn)對應(yīng)registry.conf文件內(nèi)的file方式配置。
-
registry.conf
seata server核心配置文件,可以通過該文件配置服務(wù)注冊方式、配置讀取方式。
注冊方式目前支持file 、nacos 、eureka、redis、zk、consul、etcd3、sofa等方式,默認(rèn)為file,對應(yīng)讀取file.conf內(nèi)的注冊方式信息。
讀取配置信息的方式支持file、nacos 、apollo、zk、consul、etcd3等方式,默認(rèn)為file,對應(yīng)讀取file.conf文件內(nèi)的配置。
啟動(dòng)Seata Server
啟動(dòng)seata server的腳本位于bin文件內(nèi),Linux/Mac環(huán)境使用seata-server.sh腳本啟動(dòng),Windows環(huán)境使用seata-server.bat腳本啟動(dòng)。
Linux/Mac啟動(dòng)方式示例如下所示:
?
| 1 | nohup sh seata-server.sh -p 8091 -h 127.0.0.1 -m file &> seata.log & |
通過nohup命令讓seata server在系統(tǒng)后臺運(yùn)行。
腳本參數(shù):
-
-p
指定啟動(dòng)seata server的端口號。
-
-h
指定seata server所綁定的主機(jī),這里配置要注意指定的主機(jī)IP要與業(yè)務(wù)服務(wù)內(nèi)的配置文件保持一致,如:-h 192.168.1.10,業(yè)務(wù)服務(wù)配置文件內(nèi)應(yīng)該配置192.168.1.10,即使在同一臺主機(jī)上也要保持一致。
-
-m
事務(wù)日志、事務(wù)執(zhí)行信息存儲的方式,目前支持file(文件方式)、db(數(shù)據(jù)庫方式,建表語句請查看config/db_store.sql、config/db_undo_log.sql)
查看啟動(dòng)日志
執(zhí)行完啟動(dòng)腳本后要查看日志來確認(rèn)是否啟動(dòng)成功,使用如下命令:
?
| 1 2 3 | ~ tail -1000f seata.log ..... 2019-10-10 14:33:51.340 INFO [main]io.seata.core.rpc.netty.AbstractRpcRemotingServer.start:156 -Server started ... |
當(dāng)我們看到-Server started時(shí)并未發(fā)現(xiàn)其他錯(cuò)誤信息,我們的seata server已經(jīng)啟動(dòng)成功。
總結(jié)
以上是生活随笔為你收集整理的阿里巴巴分布式事务利器Seata环境准备的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: SpringCloud与Seata分布式
- 下一篇: 启动mac版docker自带的k8s