一、RocketMQ 介绍
1、消息顺序
2、消息重复消费
3、事务消息
二、RocketMQ 安装
Windows: 需要环境 JDK1.8、Maven、Git
1.下载地址:http://rocketmq.apache.org/release_notes/release-notes-4.2.0/
2.选择‘Binary’进行下载
3.解压已下载工程
-
系统环境变量配置
变量名:ROCKETMQd:_HOME
变量值:MQ解压路径\MQ文件夹名
ROCKETMQ_HOME
D:\RocketMQ-4.2.0
5.启动
5.1 启动NAMESERVER
管理员身份运行Cmd命令框执行进入至‘MQ文件夹\bin’下,然后执行‘start mqnamesrv.cmd’,启动NAMESERVER。成功后会弹出提示框,此框勿关闭。
start mqnamesrv.cmd
5.2 启动BROKER
再打开普通Cmd窗口命令框执行进入至‘MQ文件夹\bin’下,然后执行‘start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true’,启动BROKER。成功后会弹出提示框,此框勿关闭。
start mqbroker.cmd -n 127.0.0.1:9876 autoCreateTopicEnable=true
假如弹出提示框提示‘错误: 找不到或无法加载主类 xxxxxx’。打开runbroker.cmd,然后将‘%CLASSPATH%’加上英文双引号。保存并重新执行start语句。
三、可视化管理控制台
下载完成之后,进入‘rocketmq-externals\rocketmq-console\src\main\resources’文件夹,打开‘application.properties’进行配置。
修改:
server.port=8082
rocketmq.config.namesrvAddr=127.0.0.1:9876
server.contextPath=
server.port=8082
### SSL setting
#server.ssl.key-store=classpath:rmqcngkeystore.jks
#server.ssl.key-store-password=rocketmq
#server.ssl.keyStoreType=PKCS12
#server.ssl.keyAlias=rmqcngkey
#spring.application.index=true
spring.application.name=rocketmq-console
spring.http.encoding.charset=UTF-8
spring.http.encoding.enabled=true
spring.http.encoding.force=true
logging.config=classpath:logback.xml
#if this value is empty,use env value rocketmq.config.namesrvAddr NAMESRV_ADDR | now, you can set it in ops page.default localhost:9876
rocketmq.config.namesrvAddr=127.0.0.1:9876
#if you use rocketmq version < 3.5.8, rocketmq.config.isVIPChannel should be false.default true
rocketmq.config.isVIPChannel=
#rocketmq-console's data path:dashboard/monitor
rocketmq.config.dataPath=/tmp/rocketmq-console/data
#set it false if you don't want use dashboard.default true
rocketmq.config.enableDashBoardCollect=true
#set the message track trace topic if you don't want use the default one
rocketmq.config.msgTrackTopicName=
rocketmq.config.ticketKey=ticket
#Must create userInfo file: ${rocketmq.config.dataPath}/users.properties if the login is required
rocketmq.config.loginRequired=false
- 编译启动
进入‘\rocketmq-externals\rocketmq-console’文件夹,执行‘mvn clean package -Dmaven.test.skip=true’,编译生成。
mvn clean package -Dmaven.test.skip=true
**编译成功之后,Cmd进入‘target’文件夹,执行启动:
java -jar rocketmq-console-ng-1.0.1.jar
-
测试进入控制台管理页面
浏览器中输入‘127.0.0.1:配置端口’,成功后即可查看。
如:http://127.0.0.1:8082
四、RocketMQ注册成Windows服务
- 首先将D:\rocketmq-all-4.3.0-bin-release\bin下的play.cmd转换为play.exe
下载cmdToExe工具:https://www.cr173.com/soft/969635.html
解压,找到cmdtoexe\CMD打包成EXE工具\Bat To Exe Converter,双击打开
点击"转换"
查看bin
将exe注册成windows服务,需要instsrv.exe和srvany.exe插件,将这两个exe放到D:\rocketmq-all-4.3.0-bin-release\bin目录下。
instsrv.exe和srvany.exe插件下载地址:https://www.onlinedown.net/soft/628503.htmcmd以管理员身份运行 D:\RocketMQ-4.2.0\bin\instsrv.exe RocketMQ D:\RocketMQ-4.2.0\bin\srvany.exe //其中RocketMQ为服务名称
PS D:\RocketMQ-4.2.0\bin> D:\RocketMQ-4.2.0\bin\instsrv.exe RocketMQ D:\RocketMQ-4.2.0\bin\srvany.exe
The service was successfuly added!
-
(4)修改注册表regedit.exe
进入注册表在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services下找到刚刚注册的服务名RocketMQ,在RocketMQ新建一个项,名称为“Parameters”,
单击选中它然后在右侧的窗口新建一个字符串值名称为Application, 将其值设置为你针要做为服务运行的程序的路径,例如我的路径为D:\rocketmq-all-4.3.0-bin-release\bin\play.exe。
新建字符串值名称AppDirectory,值为程序所在的路径,我的路径为D:\rocketmq-all-4.3.0-bin-release\bin
-
在服务管理器中启动RocketMQ
-
启动
启动java -jar rocketmq-console-ng-1.0.0.jar 看程序是否报错,如不报错,则搭建服务成功!
java -jar rocketmq-console-ng-1.0.1.jar
访问:
http://127.0.0.1:8082
成功!!!!!!
五、项目代码测试
参考spring5x-rocketmq: