使用自建RocketMq消息队列调试服务

一 背景

公司很多服务都用到消息队列,不过之前只有正式的mq,和测试分不开,之前的crm补丁用的Play,服务在接收测试消息时影响到正式服务,还有一方面,因为网站端把注册,登录,推广,提醒消息都往一个mq里面发,这样会导致消息积累,注册数据进入CRM有延时,所以之前自建了一个mq,将消息进行转发,防止消息积累,也可以方便自己测试,和查看mq运行情况

二 安装环境

  1. 公网服务器一台
  2. 安装JDK环境
  3. 安装MAVEN环境

https://img.chengzc.club/i/2023/04/24/64464b3b213d3.png

三 RocketMQ下载

  1. 从Apcehe下载
  2. 从GitHup上下载
  3. 下载rocketmq管理可视化页面
  4. 下载完成,解压文件

https://img.chengzc.club/i/2023/04/24/64464b4cc6e82.png![]

四 配置文件修改

  1. 进入rocket4.7.1/conf,修改broker.conf配置文件

https://img.chengzc.club/i/2023/04/24/64464b5bd195e.png

注意:默认服务端口是9876,在防火墙我们不仅需要放开9876端口,同时还要放开10911, 10912, 10909这三个端口才行,不然连接服务会报错。

  1. 10911是remotingServer使用的监听端口,remotingServer主要处理以下三类消息
  2. producer发送的消息
  3. conumser在消费失败或者消费超时发送的消息
  4. consumer拉取消息
  5. 10912是主broker用于监听从broker请求的监听端口。
  6. 10909是fastRemotingServer使用的监听端口,与remotingServer相似,但是不包含处理拉取消息的请求。在vipChannelEnabled开启时,producer,consumer发送消息才发送到
  7. 进入rocket4.7.1/bin,修改bin/目录下的runserver.sh、runbroker.sh这两个文件,我的服务器配置比较拉,内存设置稍微小一点,不然会经常报内存溢出

https://img.chengzc.club/i/2023/04/24/64464b69c8334.png

https://img.chengzc.club/i/2023/04/24/64464b735586f.png![]

五 MQ服务启动

启动mqnamesrv和mqbroker

1
nohup sh /usr/local/rocketMQ/rocket4.7.1/bin/mqnamesrv -n 119.29.217.197:9876 &nohup sh /usr/local/rocketMQ/rocket4.7.1/bin/mqbroker -n 119.29.217.197:9876 -c /usr/local/rocketMQ/rocket4.7.1/conf/broker.conf &

https://img.chengzc.club/i/2023/04/24/64464b81e93fd.png

安装RockeMQ****可视化界面

  1. 进入之前下载解压好的文件夹下rocketMQ/rocketUI/rocketmq-console

修改配置文件/usr/local/rocketMQ/rocketUI/rocketmq-console/src/main/resources

https://img.chengzc.club/i/2023/04/24/64464c148517d.png

  1. 编译mq可视化服务
1
2
cd /usr/local/rocketMQ/rocketUI/rocketmq-console
mvn clean package -Dmaven.test.skip=true

https://img.chengzc.club/i/2023/04/24/64464b8c5c9ea.png

https://img.chengzc.club/i/2023/04/24/64464ba01f45a.png

七 运行服务,查看服务状态

nohup java -jar /usr/local/rocketMQ/rocketUI/rocketmq-console/target/rocketmq-console-ng-2.0.0.jar &

https://img.chengzc.club/i/2023/04/24/64464babc0738.png

https://img.chengzc.club/i/2023/04/24/64464bb40d381.png

https://img.chengzc.club/i/2023/04/24/64464bbcdaa15.png

可以看到服务已正常启动,可以根据需要自己创建topic,group,连接mq进行消息发送,也能在可视化界面手动发送指定消息