RocketMQ在windows环境安装及整合springboot基础功能
目录
1.1下载地址:http://rocketmq.apache.org/release_notes/release-notes-4.3.0/
2.1下载地址:https://github.com/apache/rocketmq-externals.git
3.1创建springboot项目,添加rocketmq的pom依赖
一.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封装的使用方法,大家一起学习进步。