当前位置:   article > 正文

rocketmq搭建启动集成springboot落地并监控_可以集成进springboot的rocketmq控制台

可以集成进springboot的rocketmq控制台

目录

一、rocketmq服务器搭建启动:

二、springboot 集成rocketmq落地:

 三、可视化页面集成:


rocketmq是最近很流行的消息中间件,有很多的优点,比如多个topic也不会引起性能问题;今天我们开始搭建启动集成springboot落地:

一、rocketmq服务器搭建启动:

官网上进行下载 :https://github.com/apache/rocketmq/releases 我们选择4.9.1版本,或者点击

1、解压到一个无中文无空格的目录下,解压后目录如下:

注意:解压到一个无中文无空格的目录下,否则会有各种意想不到的错误。 

2、调整堆内存大小:把Xms、Xmx、-Xmn都设置成512m

打开runserver.cmd:

 这里%CLASSPATH%要加个双引号,不然启动时会找不到jdk

打开runbroker.cmd:


此处添加 ‐Drocketmq.broker.diskSpaceWarningLevelRatio=0.99的意思是:把Broker磁盘空间利用率设置为99%,默认是85%。

 3、启动NameServer :进入bin目录,执行 start mqnamesrv.cmd

以上说明启动成功 

4、启动broker:进入bin目录,执行 mqbroker.cmd -n localhost:9876  autoCreateTopicEnable=true,此处的autoCreateTopicEnable=true 也可以添加到配置文件broker.conf中,意思是自动生成topic,测试环境可以开启!线上环境尽量关闭!

启动成功显示:

5、测试生产信息:进入cmd命令窗口,执行

  1. set NAMESRV_ADDR=127.0.0.1:9876
  2. tools.cmd org.apache.rocketmq.example.quickstart.Producer

此处会产生1000条消息 

6、测试消费信息 :进入cmd命令窗口,执行

  1. set NAMESRV_ADDR=127.0.0.1:9876
  2. tools.cmd org.apache.rocketmq.example.quickstart.Consumer

此处会消费1000条信息 

7、消息轨迹配置:
打开消息轨迹功能,需要在broker.conf中打开一个关键配置:

traceTopicEnable=true

8、关闭命令:

  1. # 1.关闭NameServer
  2. sh bin/mqshutdown namesrv
  3. # 2.关闭Broker
  4. sh bin/mqshutdown broker

二、springboot 集成rocketmq落地:

1、相关jar包引入

  1. <dependency>
  2. <groupId>org.apache.rocketmq</groupId>
  3. <artifactId>rocketmq-spring-boot-starter</artifactId>
  4. <version>2.2.1</version>
  5. <exclusions>
  6. <exclusion>
  7. <groupId>org.springframework.boot</groupId>
  8. <artifactId>spring-boot-starter</artifactId>
  9. </exclusion>
  10. <exclusion>
  11. <groupId>org.springframework</groupId>
  12. <artifactId>spring-core</artifactId>
  13. </exclusion>
  14. <exclusion>
  15. <groupId>org.springframework</groupId>
  16. <artifactId>spring-webmvc</artifactId>
  17. </exclusion>
  18. </exclusions>
  19. </dependency>

对应的mq版本如下:

 2、核心配置文件:最基础的配置

  1. rocketmq.name-server=127.0.0.1:9876
  2. rocketmq.producer.group=springBootGroup
  3. server.port=8081

3、生产者生产消息

  1. import org.apache.rocketmq.client.producer.SendResult;
  2. import org.apache.rocketmq.spring.core.RocketMQTemplate;
  3. import org.apache.rocketmq.spring.support.RocketMQHeaders;
  4. import org.springframework.messaging.Message;
  5. import org.springframework.messaging.support.MessageBuilder;
  6. import org.springframework.stereotype.Component;
  7. import javax.annotation.Resource;
  8. /**
  9. * @author :nandao
  10. **/
  11. @Component
  12. public class SpringProducer {
  13. @Resource
  14. private RocketMQTemplate rocketMQTemplate;
  15. public void sendMessage(String topic,String msg){
  16. this.rocketMQTemplate.convertAndSend(topic,msg);
  17. }
  18. }

调用入口:

  1. import org.springframework.web.bind.annotation.RequestMapping;
  2. import org.springframework.web.bind.annotation.RestController;
  3. import javax.annotation.Resource;
  4. /**
  5. * @author :nandao
  6. * @description:
  7. **/
  8. @RestController
  9. @RequestMapping("/MQTest")
  10. public class MQTestController {
  11. private final String topic = "TestTopic";
  12. @Resource
  13. private SpringProducer producer;
  14. @RequestMapping("/sendMessage")
  15. public String sendMessage(String message){
  16. producer.sendMessage(topic,message);
  17. return "消息发送完成";
  18. }
  19. }

  4、消费者监听

  1. import org.apache.rocketmq.spring.annotation.ConsumeMode;
  2. import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
  3. import org.apache.rocketmq.spring.core.RocketMQListener;
  4. import org.springframework.stereotype.Component;
  5. /**
  6. * @RocketMQMessageListener 注解可以详细了解
  7. * @author :nandao
  8. **/
  9. @Component
  10. @RocketMQMessageListener(consumerGroup = "MyConsumerGroup", topic = "TestTopic",consumeMode= ConsumeMode.CONCURRENTLY)
  11. public class SpringConsumer implements RocketMQListener<String> {
  12. @Override
  13. public void onMessage(String message) {
  14. System.out.println("consumer message : "+ message);
  15. }
  16. }

5、启动boot服务:生产消息

生产调用:

消费显示:

 三、可视化页面集成:

RocketMQ源代码中并没有提供控制台,但是有一个Rocket的社区扩展项目中提供
了一个控制台,地址: https://github.com/apache/rocketmq-dashboard
下载下来后,解压并进入对应的目录

1、使用maven进行编译

mvn clean package -Dmaven.test.skip=true

2、执行jar:

编译完成后,获取target下的jar包,就可以直接执行。但是这个时候要注意,在这
个项目的application.yml中需要指定nameserver的地址。默认这个属性是指向本
地。如果配置为空,会读取环境变量NAMESRV_ADDR。
那我们可以在jar包的当前目录下增加一个application.yml文件,覆盖jar包中默认的
一个属性:

java -jar rocketmq-dashboard-1.0.1-SNAPSHOT.jar

3、启动完成后,可以访问 http://127.0.0.1:8080/ 看到管理页面

 上面有多个菜单,可以点击一一查看,均为监控指标!

到此,rocketmq整个使用流程分享完毕,下篇我们更深入分析其原理和高级功能,敬请期待!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/713033
推荐阅读
相关标签
  

闽ICP备14008679号