Myth原始碼解析系列之三- 環境搭建

有生發表於2018-01-22

環境搭建教程

在上一篇中,我們瞭解了專案的整體結構,以及每個模組大概的作用,現在我們來開始搭建專案整個環境~~

本地環境要求(這裡事務訊息儲存為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個資料庫:

  1. myth_account 會員服務資料庫
  2. myth_order 訂單服務資料庫
  3. myth_stock 庫存服務資料庫
  4. myth 分散式事務訊息庫(手工建立)

前面3個庫大家都很清楚,主要是為了演示分散式事務,在這裡選擇經典的訂單下單這個場景,以便大家快速理解上手。

這裡主要講解myth庫,該庫主要儲存分散式事務訊息,參與分散式事務的各個子系統都對應一張表,用於儲存各子系統本地事務訊息

(注意:因為我這裡採用的是mysql,所以需要建立這個資料庫,只需建立庫即可,該庫下的表在各子業務子系統啟動時自動create,程式碼解析請見後續章節)

myth庫模型

myth-sql-model

3、rocketmq 安裝部署

  1. 下載 http://rocketmq.apache.org/dowloading/releases/

    解押:rocketmq-all-4.0.0-incubating-bin-release.zip

  2. 修改runservice.sh和runbroker.sh

JAVA_OPT="${JAVA_OPT} -server -Xms512m -Xmx512m -Xmn256m -XX:PermSize=128m -XX:MaxPermSize=320m"

  1. 修改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 進行交流

相關文章