一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - Java教程 - Windows搭建部署RocketMQ步驟詳解

Windows搭建部署RocketMQ步驟詳解

2019-06-26 13:10老郭 Java教程

這篇文章主要介紹了Windows搭建部署RocketMQ步驟詳解,RocketMq是一個由阿里巴巴開源的消息中間件,脫胎去阿里每部使用的MetaQ,在設計上借鑒了Kafka。,需要的朋友可以參考下

以前簡單用過ActiveMQ但是公司項目上使用的是RocketMQ,所以準備多花點時間在這上面,搞懂項目的配置使用。

看了很多資料,先說說我自己對RocketMQ的簡單理解。不管是我們寫的消費者還是生產者都屬于客戶端,而我們需要安裝RocketMQ,這是屬于服務端。和ActivieMQ、zookeeper類似,消費者、生成者、服務端(NameServer)之間是采取觀察者模式實現。

在操作系統上安裝RocketMQ,啟動服務端NameServer、啟動Broker,書寫Consumer代碼,運行消費者。書寫Producer代碼,運行生產者。

基本簡單邏輯是這樣的,當然其中還有很多細節。平時在測試時我們都在window上使用,踩了點坑,成功完成。

安裝運行

1、下載

建議下載發行版本,我試過自己編譯,不知道為何報錯了。

rocketmq-all-4.2.0-bin-release.zip

解壓出來如下:

2、啟動

NameServer

在啟動之前需要配置系統環境,不然會報錯。配置完成記得重啟電腦

Please set the ROCKETMQ_HOME variable in your environment! 

系統環境變量名:ROCKETMQ_HOME

每個人不一樣,對比如上我的路徑—-變量值:D:\rocketMQ

進入window命令窗口,進入bin目錄下,執行

start mqnamesrv.cmd

如上則NameServer啟動成功。使用期間,窗口不要關機。

Broker

同理,再次開一個命令窗口,進入bin目錄下,輸入

start mqbroker.cmd -n localhost:9876

如上的 ip+port 是NameServer的進程,因為Nameser安裝啟動在本地,所以這里的 ip 是 localhost。

運行如上命令,可能會報如下錯誤。找不到或無法加載主類

如果出此情況,打開bin-->runbroker.cmd,修改%CLASSPATH%成

"%CLASSPATH%"

保存再次執行如上命令。執行成功后,窗口并不會顯示什么,只是一個空窗口,代表成功。

書寫代碼

依賴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() {
@Override
public 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

注意匹配相應參數: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 看看是否收到消息。

監控平臺

和其他的MQ一樣,這里也提供了Window版本可視化的監控和 Linux監控。可以看到消息消費的具體情況,但是其實在實際開發過程中,Window顯示的界面數據非常少,看不到多少內容。所以實際項目中都是看 Linux 數據。

我們這邊項目看MQ消費情況也是在Linux上部署查看。

但是可以學習學習,為Linux的安裝拓展畫面感。

1、下載

rocketmq-console

其實這里提供了安裝部署的方法,可以根據實際情況來

所以一步一步來吧,首先修改配置文件。修改application.properties,具體位置如下

rocketmq-console\src\main\resources

主要如上兩處需要修改,平臺部署的端口。我這里 8080 沒被使用,這里就用 8080。下面是NameServer的啟動位置,根據自己實際情況填寫即可。

2、啟動
首先,上面的 Tips 也說了,看看自己的Maven鏡像是不是阿里云的,不然下載jar可能下載不下來或者很慢,這里不用說了。

進入命令窗口,進入rocketmq-console目錄,執行。

mvn clean package -Dmaven.test.skip=true

Build成功后,再次執行

java -jar target/rocketmq-console-ng-1.0.0.jar

完成后,進入網址即可,比如我這是 localhost:8080

ok!完成,估計后面會好好的學習RocketMQ。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 日韩一级精品视频在线观看 | 亚洲国产在线 | 欧美黑人一级 | 精品一久久香蕉国产线看观 | 激情视频亚洲 | 污软件在线观看 | 亚洲国产日韩欧美mv | 亚洲干综合 | 欧美日韩一区二区三区在线视频 | 欧美人在线一区二区三区 | japonensis中国东北老人 | 韩日视频在线 | 色中色破解版 | 国内自拍2020 | 日本大片免aaa费观看视频 | 亚洲sss综合天堂久久久 | 97导航| 欧美亚洲国产精品久久第一页 | 99国产精品热久久久久久夜夜嗨 | 午夜人妻理论片天堂影院 | 成年人福利 | 欧美一级专区免费大片俄罗斯 | 男生同性啪视频在线观看 | 国产剧情一区 | 日产精品一卡2卡三卡4乱码久久 | 国产rpg迷雾之风冷狐破解 | 亚欧毛片基地国产毛片基地 | gogo人体模特啪啪季玥图片 | 美女扒开肌肌让男人桶 | 国产成人精品视频一区二区不卡 | 色综合久久九月婷婷色综合 | 消息称老熟妇乱视频一区二区 | 久久综合网久久综合 | 国产成人综合视频 | 国产伦精一区二区三区视频 | a一区二区三区视频 | 99视频精品免费99在线 | 消息称老熟妇乱视频一区二区 | 国产精品福利久久2020 | 亚洲日本视频在线观看 | 天天干夜夜拍 |