Window搭建部署RocketMQ步驟是怎樣的,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細(xì)講解,有這方面需求的人可以來學(xué)習(xí)下,希望你能有所收獲。
序
以前簡單用過ActiveMQ但是公司項目上使用的是RocketMQ,所以準(zhǔn)備多花點時間在這上面,搞懂項目的配置使用。
看了很多資料,先說說我自己對RocketMQ的簡單理解。不管是我們寫的消費者還是生產(chǎn)者都屬于客戶端,而我們需要安裝RocketMQ,這是屬于服務(wù)端。和ActivieMQ、zookeeper類似,消費者、生成者、服務(wù)端(NameServer)之間是采取觀察者模式實現(xiàn)。
在操作系統(tǒng)上安裝RocketMQ,啟動服務(wù)端NameServer、啟動Broker,書寫Consumer代碼,運行消費者。書寫Producer代碼,運行生產(chǎn)者。
基本簡單邏輯是這樣的,當(dāng)然其中還有很多細(xì)節(jié)。平時在測試時我們都在window上使用,踩了點坑,成功完成。
安裝運行
1、下載
建議下載發(fā)行版本,我試過自己編譯,不知道為何報錯了。
rocketmq-all-4.2.0-bin-release.zip
解壓出來如下:
2、啟動
NameServer
在啟動之前需要配置系統(tǒng)環(huán)境,不然會報錯。配置完成記得重啟電腦
Please set the ROCKETMQ_HOME variable in your environment!
系統(tǒng)環(huán)境變量名:ROCKETMQ_HOME
每個人不一樣,對比如上我的路徑—-變量值:D:\rocketMQ
進(jìn)入window命令窗口,進(jìn)入bin目錄下,執(zhí)行
start mqnamesrv.cmd
如上則NameServer啟動成功。使用期間,窗口不要關(guān)機。
Broker
同理,再次開一個命令窗口,進(jìn)入bin目錄下,輸入
start mqbroker.cmd -n localhost:9876
如上的 ip+port 是NameServer的進(jìn)程,因為Nameser安裝啟動在本地,所以這里的 ip 是 localhost。
運行如上命令,可能會報如下錯誤。找不到或無法加載主類
如果出此情況,打開bin-->runbroker.cmd,修改%CLASSPATH%成
"%CLASSPATH%"
保存再次執(zhí)行如上命令。執(zhí)行成功后,窗口并不會顯示什么,只是一個空窗口,代表成功。
書寫代碼
依賴RocketMQ
<dependency><groupId>org.apache.rocketmq</groupId><artifactId>rocketmq-client</artifactId><version>4.2.0</version></dependency>
1、Consumer
public class Consumer {public static void main(String[] args) throws MQClientException {//這里填寫group名字DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("my-group-name-A");//NameServer地址consumer.setNamesrvAddr("localhost:9876");//1:topic名字 2:tag名字consumer.subscribe("topic-name-A", "tag-name-A");consumer.registerMessageListener(new MessageListenerConcurrently() {@Overridepublic ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs, ConsumeConcurrentlyContext context) {for (MessageExt msg : msgs) {System.out.println(new String(msg.getBody()));}return ConsumeConcurrentlyStatus.CONSUME_SUCCESS;}});consumer.start();System.out.println("Consumer Started!");}}
先運行起來
2、Producer
注意匹配相應(yīng)參數(shù):group topic tag
public class Producer {public static void main(String[] args) throws MQClientException, RemotingException, InterruptedException, MQBrokerException {DefaultMQProducer producer = new DefaultMQProducer("my-group-name-A");producer.setNamesrvAddr("localhost:9876");producer.start();Message message = new Message("topic-name-A","tag-name-A","Message : My blog address guozh.net".getBytes());producer.send(message);System.out.println("Message sended");producer.shutdown();}}
再次運行 producer。
然后去 Consumer 看看是否收到消息。
監(jiān)控平臺
和其他的MQ一樣,這里也提供了Window版本可視化的監(jiān)控和 Linux監(jiān)控??梢钥吹较⑾M的具體情況,但是其實在實際開發(fā)過程中,Window顯示的界面數(shù)據(jù)非常少,看不到多少內(nèi)容。所以實際項目中都是看 Linux 數(shù)據(jù)。
我們這邊項目看MQ消費情況也是在Linux上部署查看。
但是可以學(xué)習(xí)學(xué)習(xí),為Linux的安裝拓展畫面感。
1、下載
rocketmq-console
其實這里提供了安裝部署的方法,可以根據(jù)實際情況來
所以一步一步來吧,首先修改配置文件。修改application.properties,具體位置如下
rocketmq-console\src\main\resources
主要如上兩處需要修改,平臺部署的端口。我這里 8080 沒被使用,這里就用 8080。下面是NameServer的啟動位置,根據(jù)自己實際情況填寫即可。
2、啟動首先,上面的 Tips 也說了,看看自己的Maven鏡像是不是阿里云的,不然下載jar可能下載不下來或者很慢,這里不用說了。
進(jìn)入命令窗口,進(jìn)入rocketmq-console目錄,執(zhí)行。
mvn clean package -Dmaven.test.skip=true
Build成功后,再次執(zhí)行
java -jar target/rocketmq-console-ng-1.0.0.jar
完成后,進(jìn)入網(wǎng)址即可,比如我這是 localhost:8080
ok!完成,估計后面會好好的學(xué)習(xí)RocketMQ。
看完上述內(nèi)容是否對您有幫助呢?如果還想對相關(guān)知識有進(jìn)一步的了解或閱讀更多相關(guān)文章,請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝您對創(chuàng)新互聯(lián)網(wǎng)站建設(shè)公司,的支持。
本文名稱:Window搭建部署RocketMQ步驟是怎樣的-創(chuàng)新互聯(lián)
當(dāng)前鏈接:http://jinyejixie.com/article26/dpcocg.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計公司、網(wǎng)站策劃、虛擬主機、電子商務(wù)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容