RocketMQ 學習歷程(一)------windows 上搭建rocketmq服務

今天從零開始學習RocketMQ,之前學習過JMS規範以及ActiveMQ相關知識,但總感受RocketMQ給我帶來一種莫名的好感,加上公司目前也在使用RocketMQ,因此,頗有必要學習一波,乘年輕剛入職場,多學點、研究點技術,相信結局老是美好的。linux

本文很簡單,就是基本的windows環境搭建,非集羣版本。請不要問我爲何不在linux上面進行搭建,首先我用不慣虛擬機,第二以前買的阿里雲學生機過時了,賊難受。學會在windows上搭建RocketMQ服務以後,在linux上面搭建也是一樣的步驟和道理的。本文最後還會放出小編在搭建過程當中犯過的錯誤以及解決方法,讓你們能更快地進行服務搭建。apache

1、windows下RocketMQ服務搭建

首先假設咱們已經對RocketMQ的相關架構有所瞭解,若是你尚未進行了解學習,能夠先到官方網站或者找找博客進行學習。RocketMQ的啓動流程主要有如下幾個步驟:windows

  • 一、啓動命名服務NameServerbash

  • 二、Broker的啓動服務器

  • 三、建立ProviderConsumer,模擬消息發送接收架構

  • 四、關閉RocketMQ服務器ide

一、啓動命名服務NameServer

NameServer的默認啓動類爲:org.apache.rocketmq.namesrv.NamesrvStartup學習

二、Broker的啓動

Broker的默認啓動類爲:org.apache.rocketmq.broker.BrokerStartup網站

三、建立ProviderConsumer,模擬消息發送接收

生產消息:ui

消費消息:

四、關閉RocketMQ服務器

先關閉Broker,而後再關閉名稱服務器。

2、相關錯誤及解決方法

  • 一、下載完rocketmq以後必須配置環境變量ROCKETMQ_HOME,不然報錯.

那麼爲何會出現這樣的錯誤呢?很簡單,你打開mqnamesrv.cmd文件就知道了,裏邊有這麼一段代碼:

if not exist "%ROCKETMQ_HOME%\bin\runserver.cmd" echo Please set the ROCKETMQ_HOME variable in your environment! & EXIT /B 1
複製代碼

若是不存在該環境變量就執行echo語句。

  • 二、解壓壓縮包的路徑不能出現空格

也就是說你下載完rocketmq壓縮包以後,解壓路徑不能出現相似下面的狀況:

e://Program File/rocketmq

出現空格,會報「找不到主類」的錯誤

3、總結

搭建rocketmq環境比想象中要簡單,過程當中也踩了兩個坑,在這裏分享一個解決啓動問題的思路,那就是若是你實在找不出問題該如何解決,那麼你能夠嘗試打開cmd文件,查看源代碼,看看到底啓動的邏輯,問題會清晰不少。

上面也指出了namesrvbroker的相關啓動類,全部的啓動過程都在源碼的main()方法中,能夠進去一探究竟~~

相關文章
相關標籤/搜索