RocketMQ的基础用法

📅 2026/7/31 15:06:15
RocketMQ的基础用法
# 这篇文章是因为我在项目的搭建过程中发现了一个问题如果一个用户在修改库存数据的时候另一个人在开销售订单如果俩个人同时执行不清楚的情况下那么服务会优先运行哪一个呢是不是会导致出现已经修改库存了出库的数据直接出库了导致负库存还是出库了之后再修改完库存导致仓管无法及时发现库存的问题一般是不会出现这种情况滴但是因为我的好奇心去了解了一下发现可以用俩种方法实现第一种就是RocketMQ在同时进行的操作中做一个消息队列并且如果消息中topic为库存修改时优先执行后执行其他修改操作第二种是使用锁在修改仓库的数据的时候把其他想请求仓库的数据先暂停掉等仓库的操作执行完之后再调用。#接下来我来带大家做一个RocketMQ的基础案例第一步 连接服务器我们打开我们自己的服务器或者云服务器或者虚拟机都可以我这边使用的是centos8.1 服务器用的是阿里云服务器并且是直接使用了阿里自己做的workbench进行连接。第二步 下载Java直接问阿里的多Agent协同调度的智能体直接输入我想安装javax.x我这边安装的是java的1.8在智能体的一个个步骤下我们只需要点击允许即可。然后我们的java1.8就装好拉并且环境变量也帮我们配置好了第三步 安装RocketMQ直接告诉智能体我要安装RocketMQ 然后你只要告诉他装在哪里即可比如我这边选择装在了/app/rocketmq的目录下哦对千万不要忘记下载RocketMQ需要切换成国内的源哦不然下载的会非常慢版本他可能会给你错误的版本我这边下载的是5.3.0如果你想测试可以装跟我一样的版本直接根智能体说我想安装RocketMQ5.3.0就可以拉下载完成之后我们会得到一个zip的压缩包这个时候让智能体帮我们解压即可使用sudo unzip 命令解压他。可以不创建软链接这个具体看你们自己的需要解压完成之后我们要根据自己的服务器内存大小进行一个简单的配置第四步 配置RocketMQ进入RocketMQ压缩完成后的文件中我划线的俩个文件就是需要更改的1. runbroker.sh打开runbroker.sh文件滑到最下面一开始的JAVA_OPT是 Xms8G额和Xmx8G 我们按照自己服务器的内存大小进行适当的调整我这边都改成了512M2. runserver.sh打开runserver.sh文件我们会发现这样一个if语句分别为java版本大于9和小于9的版本的我们需要更改的是上面这个因为我们装的是1.8的版本改成我们服务器适配的内存我这边改成了512M 512M 256M 一开始应该是4G 4G 2G的。配置完成之后我们告诉workBench打开我们的RocketMQ服务第五步 执行快速测试命令这是服务端发送的命令前面的一句话表示把定位到本地的9876端口也就是RocketMQ打开的地址NAMESRV_ADDRlocalhost:9876 /app/rocketmq/rocketmq-all-5.3.0-bin-release/bin/tools.sh org.apache.rocketmq.example.quickstart.Producer打开之后的效果如下这个脚本自动向RocketMQ服务发送了几百条信息。之后我们用用户端接收一下命令如下NAMESRV_ADDRlocalhost:9876 /app/rocketmq/rocketmq-all-5.3.0-bin-release/bin/tools.sh org.apache.rocketmq.example.quickstart.Consumer效果如下这样用户端就接收到了服务器发送过来的信息RocketMQ就做到了一个中转站的作用。这里需要自行退出哦 CtrlC。