準備潛心學習一下消息中間件,因而乎RocketMQ出如今個人眼前,阿里的東西!通過了幾個雙十一的考驗,激起了我嚴重的興趣!最後的結果就是:我毅然的開啓了RocketMQ探索之旅!git
序言:讓代碼跑起來。github
下載源碼爲3.5.8,下載地址https://github.com/alibaba/RocketMQ/tree/v3.5.8。函數
在IntelliJ中跑源碼跑起來,這樣咱們就能夠啓動namesrv和broker(在寫這篇博客的時候我已經在網上看過關於RocketMQ的相關知識了)。學習
由於是直接調試源碼,須要將環境變量設置爲解壓後的目錄。spa
在RocketMQ的服務端,須要啓動nameserver和broker兩個模塊。因此要在IntelliJ中配置nameserver和broker的啓動項。.net
點擊 「Run->Edit Configuration」調試
配置main函數的啓動類:日誌
com.alibaba.rocketmq.broker.BrokerStartup
配置VM OPTIONS(虛擬機啓動參數):-server -Xms1g -Xmx1g -Xmn512m -XX:PermSize=128m -XX:MaxPermSize=320m。這個能夠在RocketMQ自帶的啓動參數中查找,打開bin目錄下的mqbroker文件,看到以下內容:code
看出broker是經過runbroker.sh這個腳本啓動的:server
在runbroker.sh文件中能夠看啓動參數:
參數能夠根據本身的內存大小進行調整,我調整1G。
配置main的啓動參數:鏈接namesrv的地址和端口。
-n 192.168.1.101:9876
和broker的配置差很少。
注意:要使用JDK1.8編譯。
先啓動nameserver:
再啓動broker
出現以上的日誌,就代表啓動成功了!
注意:我在啓動中出現的問題:1:剛開始沒有使用JDK1.8編譯;2:直接下下來的源碼在啓動broker的時候報:
我是直接改了實現類。
這個網上比較多,我也是在網上找的。來源:https://my.oschina.net/cloudcoder/blog/200741
作完以上的動做,就能夠完整的跑起來源碼!接下來就能夠DEBUG源碼,來探索RocketMQ其中的奧祕!