最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

java RocketMQ快速入門基礎知識

 更新時間:2019年06月20日 09:48:00   作者:匠心零度  
這篇文章主要介紹了java RocketMQ快速入門基礎知識,所以RocketMQ是站在巨人的肩膀上(kafka),又對其進行了優(yōu)化讓其更滿足互聯(lián)網(wǎng)公司的特點。它是純Java開發(fā),具有高吞吐量、高可用性、適合大規(guī)模分布式系統(tǒng)應用的特點。,需要的朋友可以參考下

如何使用

1、引入 rocketmq-client

<dependency>
<groupId>org.apache.rocketmq</groupId>
<artifactId>rocketmq-client</artifactId>
<version>4.1.0-incubating</version>
</dependency>

2、編寫Producer

DefaultMQProducer producer = new DefaultMQProducer("producer_demo");
//指定NameServer地址
producer.setNamesrvAddr("192.168.116.115:9876;192.168.116.116:9876"); //修改為自己的
/**
* Producer對象在使用之前必須要調用start初始化,初始化一次即可
* 注意:切記不可以在每次發(fā)送消息時,都調用start方法
*/
producer.start();

for (int i = 0; i < 997892; i++) {
try {
//構建消息
Message msg = new Message("TopicTest" /* Topic */,
"TagA" /* Tag */,
("測試RocketMQ" + i).getBytes(RemotingHelper.DEFAULT_CHARSET)
);
//發(fā)送同步消息
SendResult sendResult = producer.send(msg);
System.out.printf("%s%n", sendResult);
} catch (Exception e) {
e.printStackTrace();
Thread.sleep(1000);
}
}
producer.shutdown();

3、編寫Consumer

/**
* Consumer Group,非常重要的概念,后續(xù)會慢慢補充
*/
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("consumer_demo");
//指定NameServer地址,多個地址以 ; 隔開
consumer.setNamesrvAddr("192.168.116.115:9876;192.168.116.116:9876"); //修改為自己的
/**
* 設置Consumer第一次啟動是從隊列頭部開始消費還是隊列尾部開始消費
* 如果非第一次啟動,那么按照上次消費的位置繼續(xù)消費
*/
consumer.setConsumeFromWhere(ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET);
consumer.subscribe("TopicTest", "*");
consumer.registerMessageListener(new MessageListenerConcurrently() {
@Override
public ConsumeConcurrentlyStatus consumeMessage(List<MessageExt> msgs,
ConsumeConcurrentlyContext context) {
try {
for(MessageExt msg:msgs){
String msgbody = new String(msg.getBody(), "utf-8");
System.out.println(" MessageBody: "+ msgbody);//輸出消息內容
}
} catch (Exception e) {
e.printStackTrace();
return ConsumeConcurrentlyStatus.RECONSUME_LATER; //稍后再試
}
return ConsumeConcurrentlyStatus.CONSUME_SUCCESS; //消費成功
}
});
consumer.start();
System.out.printf("Consumer Started.%n");

4、說明

各位根據(jù)自己的環(huán)境,修改NamesrvAddr的值,我的集群請參考:RocketMQ集群部署配置。稍后通過RocketMQ管控臺就可以看到之前搭建的多Master多Slave模式,異步復制集群模式。

5、通過RocketMQ管控臺

rocketmq-console-ng獲取方式為:rocketmq-console-ng,之后通過mavne進行編譯獲取jar,命令如下:

mvn clean package -Dmaven.test.skip=true
java -jar target/rocketmq-console-ng-1.0.0.jar

得到rocketmq-console-ng-1.0.0.jar之后,找到rocketmq-console-ng-1.0.0.jar\BOOT-INF\classes\application.properties文件,根據(jù)自己的NamesrvAddr進行修改rocketmq.config.namesrvAddr的值。

直接啟動:

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

管控臺是基于springboot的,的確springboot非常方便和非?;鹆耍杂斜匾W習下springboot了(其實還是spring系列,所以spring也必要深入學習下),稍后通過管控臺進行觀察運行。

6、運行觀察

一個好的習慣是先運行Consumer,之后在運行Producer,之后通過rocketmq-console-ng管控臺觀察

運行完成之后,的確broker-a的數(shù)據(jù)加上broker-b的數(shù)據(jù)量就等于我們發(fā)送的數(shù)據(jù)量,而且slave的數(shù)量也master的數(shù)量也是一致的,效果如下:

查看發(fā)送這些數(shù)據(jù),2臺機器的磁盤情況如下:

到目前位置,關于RocketMQ快速入門就結束了。

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關文章

  • Java數(shù)據(jù)結構 遞歸之迷宮回溯案例講解

    Java數(shù)據(jù)結構 遞歸之迷宮回溯案例講解

    這篇文章主要介紹了Java數(shù)據(jù)結構遞歸之迷宮回溯案例講解,本篇文章通過簡要的案例,講解了該項技術的了解與使用,以下就是詳細內容,需要的朋友可以參考下
    2021-08-08
  • Java Swing中JTable渲染器與編輯器用法示例

    Java Swing中JTable渲染器與編輯器用法示例

    這篇文章主要介紹了Java Swing中JTable渲染器與編輯器用法,結合實例形式較為詳細的分析了Swing中JTable渲染器與編輯器的功能、使用方法及相關注意事項,需要的朋友可以參考下
    2017-11-11
  • Java源碼解析HashMap的tableSizeFor函數(shù)

    Java源碼解析HashMap的tableSizeFor函數(shù)

    今天小編就為大家分享一篇關于Java源碼解析HashMap的tableSizeFor函數(shù),小編覺得內容挺不錯的,現(xiàn)在分享給大家,具有很好的參考價值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • Maven配置中repositories、distributionManagement、pluginRepositories用法及將已有jar包部署到私服

    Maven配置中repositories、distributionManagement、pluginRepositori

    這篇文章主要介紹了Maven配置中repositories、distributionManagement、pluginRepositories用法及將已有jar包部署到私服,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2025-03-03
  • SpringBoot優(yōu)雅的進行全局異常處理的實現(xiàn)步驟

    SpringBoot優(yōu)雅的進行全局異常處理的實現(xiàn)步驟

    在軟件開發(fā)的世界里,異常處理是保證系統(tǒng)穩(wěn)定性和用戶體驗的關鍵因素之一,尤其是在構建基于微服務架構的應用時,SpringBoot提供了一套強大的工具來幫助開發(fā)者管理這些異常,所以本文給大家介紹了SpringBoot如何優(yōu)雅的進行全局異常處理,需要的朋友可以參考下
    2025-02-02
  • JAVA實現(xiàn)用戶抽獎功能(附完整代碼)

    JAVA實現(xiàn)用戶抽獎功能(附完整代碼)

    這篇文章主要給大家介紹了關于JAVA實現(xiàn)用戶抽獎功能的相關資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-11-11
  • 詳解Java設計模式——命令模式

    詳解Java設計模式——命令模式

    這篇文章主要介紹了Java設計模式——命令模式,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2019-04-04
  • 詳解mybatis批量插入10萬條數(shù)據(jù)的優(yōu)化過程

    詳解mybatis批量插入10萬條數(shù)據(jù)的優(yōu)化過程

    這篇文章主要介紹了詳解mybatis批量插入10萬條數(shù)據(jù)的優(yōu)化過程,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • java面向對象的三大特性之一繼承用法實例分析

    java面向對象的三大特性之一繼承用法實例分析

    這篇文章主要介紹了java面向對象的三大特性之一繼承用法,結合實例形式分析了java面向對象程序設計中繼承的基本原理與具體使用方法,需要的朋友可以參考下
    2019-11-11
  • 解決Tomcat啟動報異常java.lang.ClassNotFoundException問題

    解決Tomcat啟動報異常java.lang.ClassNotFoundException問題

    這篇文章主要介紹了解決Tomcat啟動報異常java.lang.ClassNotFoundException問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-01-01

最新評論

黔西县| 攀枝花市| 玉林市| 山西省| 手游| 张北县| 安图县| 嘉善县| 砀山县| 抚远县| 兰考县| 安达市| 绥德县| 永福县| 齐河县| 历史| 松潘县| 阿拉善右旗| 平江县| 肥城市| 宜昌市| 凌海市| 冷水江市| 民丰县| 莆田市| 大洼县| 乐昌市| 星座| 牙克石市| 海丰县| 兴仁县| 原平市| 政和县| 宝兴县| 陵川县| 富宁县| 白银市| 海伦市| 固镇县| 沁阳市| 五河县|