RocketMQ在windows环境安装及整合springboot整合基础功能

RocketMQ在windows环境安装及整合springboot基础功能

目录

一.RocketMQ下载与安装

1.1下载地址:http://rocketmq.apache.org/release_notes/release-notes-4.3.0/​

1.2:配置rocketmq的系统变量

1.3: 启动

二.RocketMQ桌面管理插件安装部署

2.1下载地址:https://github.com/apache/rocketmq-externals.git

2.2 部署插件

三.springboot整合RocketMQ基本功能

3.1创建springboot项目,添加rocketmq的pom依赖

3.2配置yml文件

3.3 创建生产者Producer 

3.4 创建消费者Consumer 

3.5 启动项目

3.6:测试


一.RocketMQ下载与安装

RocketMQ是阿里巴巴开源的消息中间件:rocketmq下载安装比较简单,下载解压即可

本文下载的rocketmq是4.3的版本,最新的已经到4.7了,可以根据需要选择自己的版本

1.1下载地址http://rocketmq.apache.org/release_notes/release-notes-4.3.0/

1.2:配置rocketmq的系统变量

变量名:ROCKETMQ_HOME

变量值:MQ解压路径\MQ文件夹名(为了防止产生异常,解压到英文路径下)

1.3: 启动

首先进入的rocket的bin目录下,cmd进入命令行模式:

1.3.1:启动NAMESERVER:输入指令“start mqnamesrv.cmd”,启动成功后会有如下画面,不要关闭对话框;

1.3.2:启动BROKER:在之前的cmd命令框中继续输入指令“start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true”,会弹出如下对话框,不要关闭对话框

二.RocketMQ桌面管理插件安装部署

2.1下载地址:https://github.com/apache/rocketmq-externals.git

使用github克隆地址中的项目;

部署前提:java环境,maven环境需已经具备

2.2 部署插件

2.2.1:进入‘rocketmq-externals\rocketmq-console\src\main\resources’文件夹,修改启动配置文件application.properties;

启动插件的端口号:server.port=8089,这个可以随机设置,只要和windows环境已有服务的端口没有冲突即可

rocketmq的连接地址:rocketmq.config.namesrvAddr=127.0.0.1:9876  

2.2.2:编译并启动项目:进入‘\rocketmq-externals\rocketmq-console’文件夹,执行‘mvn clean package -Dmaven.test.skip=true’,编译生成jar包;

            编译成功之后,Cmd进入‘target’文件夹,执行‘java -jar rocketmq-console-ng-1.0.0.jar’,启动"rocketmq-console-ng-1.0.0.jar"

安装部署成功以后访问:localhost:8089,会看到如下界面

三.springboot整合RocketMQ基本功能

3.1创建springboot项目,添加rocketmq的pom依赖

<dependency>
     <groupId>org.apache.rocketmq</groupId>
     <artifactId>rocketmq-spring-boot-starter</artifactId>
     <version>2.1.0</version>
</dependency>

3.2配置yml文件

rocketmq:
  name-server: 127.0.0.1:9876
  producer:
    group: my-producer-group

3.3 创建生产者Producer 

package com.demo.rocketmq.simpleTest;

import io.swagger.annotations.Api;
import org.apache.rocketmq.spring.core.RocketMQTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

@Api
@RequestMapping("/test")
@RestController
public class Producer {
    @Autowired
    private RocketMQTemplate rocketMQTemplate;

    @GetMapping("send")
    public void send(){
        rocketMQTemplate.convertAndSend("test-topic","你好,Java旅途");
    }

}

3.4 创建消费者Consumer 

package com.demo.rocketmq.simpleTest;

import lombok.extern.slf4j.Slf4j;
import org.apache.rocketmq.spring.annotation.RocketMQMessageListener;
import org.apache.rocketmq.spring.core.RocketMQListener;
import org.springframework.stereotype.Component;

@Slf4j
@Component
@RocketMQMessageListener(topic = "test-topic",consumerGroup = "my-consumer-group")
public class Consumer implements RocketMQListener<String> {
    @Override
    public void onMessage(String message) {
        log.info("我收到消息了!消息内容为:"+message);
    }
}

3.5 启动项目

3.5.1:启动前需要配置topic:可以在管理控制台页面添加

3.5.2:访问地址:http:/127.0.0.1/test/send,就可以看到项目控制台产生的日志了。

3.6:测试

使用jemeter测试一下效果如何:当然也可以用postman进行测试:我是用来测试高并发会什么样的;

配置线程数量:

配置url:

查看电脑的性能消耗:从下图可以看到,cpu利用率已经达到了100%,内存也达到了12G了,且持续的时间很长,一直在处理请求中,过了一会才会处理完。

以上就是rocketmq安装部署已经简单的整合步骤了,这只是最简单的整合步骤,实际使用远比这要考虑的多,有兴趣的同学可以学习一下RocketMQ封装使用的方法。

后续博主也会补上相关RocketMQ封装的使用方法,大家一起学习进步。

猜你喜欢

转载自blog.csdn.net/qq_37488998/article/details/111240175