環境搭建教程
在上一篇中,我們瞭解了專案的整體結構,以及每個模組大概的作用,現在我們來開始搭建專案整個環境~~
本地環境要求(這裡事務訊息儲存為mysql,訊息中介軟體為:rocketmq)
JDK:1.8+ 需安裝 git 、 maven 、 mysql 、 rocketmq
1、pull專案原始碼
git clone https://github.com/yu199195/myth.git maven clean install
2、資料庫初始化
指令碼地址: myth\myth-demo\sql\myth-mysql-demo.sql 這裡使用的mysql客戶端工具: navicat premium
主要建立3個資料庫:
- myth_account 會員服務資料庫
- myth_order 訂單服務資料庫
- myth_stock 庫存服務資料庫
- myth 分散式事務訊息庫(手工建立)
前面3個庫大家都很清楚,主要是為了演示分散式事務,在這裡選擇經典的訂單下單這個場景,以便大家快速理解上手。
這裡主要講解myth庫,該庫主要儲存分散式事務訊息,參與分散式事務的各個子系統都對應一張表,用於儲存各子系統本地事務訊息
(注意:因為我這裡採用的是mysql,所以需要建立這個資料庫,只需建立庫即可,該庫下的表在各子業務子系統啟動時自動create,程式碼解析請見後續章節)
myth庫模型
3、rocketmq 安裝部署
-
下載 http://rocketmq.apache.org/dowloading/releases/
解押:rocketmq-all-4.0.0-incubating-bin-release.zip
-
修改runservice.sh和runbroker.sh
JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=320m"
- 修改broker.conf
brokerClusterName = DefaultCluster
brokerName = broker-a
namesrvAddr=192.168.156.101:9876 #rocketmq 安裝本機ip地址:服務埠
brokerId = 0
brokerIP1=192.168.156.101 #rocketmq 安裝本機ip地址
deleteWhen = 04
fileReservedTime = 48
brokerRole = ASYNC_MASTER
flushDiskType = ASYNC_FLUSH
storePathRootDir=/soft/rocketmq/data #資料儲存路徑
storePathCommitLog=/soft/rocketmq/logs #日誌存放路徑
複製程式碼
4 啟動 namesrv nohup sh apache-rocketmq-all/bin/mqnamesrv >logs/namesrv.log 2>&1 &
5 啟動broker nohup sh apache-rocketmq-all/bin/mqbroker -c apache-rocketmq-all/conf/broker.conf > logs/broker.log 2>&1 &
6.驗證
[root@myyh2 conf]# jps
2930 NamesrvStartup
3508 BrokerStartup
3562 Jps
複製程式碼
如上表示啟動成功!
7.開放伺服器埠 :
/sbin/iptables -I INPUT -p tcp --dport 9876 -j ACCEPT
到此環境搭建基本完成,下一章將進行配置與啟動詳解~
大家有任何問題或者建議歡迎溝通 ,歡迎加入QQ群:162614487 進行交流