RocketMQ-1.0-配置与启动RocketMQ


为什么要使用RocketMQ?

  1. 系统解耦,当新的模块进来时,可以做到代码改动最小。能够解耦
  2. 设置流程缓冲池,可以让后端系统按照自身吞吐能力进行消费。能够削峰限流
  3. 强弱依赖梳理能把非关键调用链路的操作异步化并提升整体系统的吞吐能力。能够异步

定义

Rocket是面向消息的中间件(message-oriented middleware)

是指利用高效可靠的消息传递机制进行与平台(跨平白)无关的数据交流,并基于数据通信来进行分布式系统的集成。

通过提供消息传递和消息排队模型在分布式环境下提供应用解耦,弹性伸缩,冗余存储,流量削峰,异步通信,数据同步等。

RocketMQ中的概念

  • Producer:消息的生产者
  • Consumer:消息的消费者
  • Broker:暂存和传输消息的管道
  • NameServer:管理Broker,相当于Broker的注册中心,保留了Broker的信息
  • Queue:队列,消息存放的位置,一个Broker中可以有多个队列
  • Topic:主题,消息的分类
  • ProducerGroup:生产者组
  • ConsumerGroup:消费者组

消息发送的流程

Producer询问NameServer,NameServer分配一个broker,然后Consumer也要询问NameServer,得到一个具体的broker,然后消费消息

img

消息的生产和消费

img

安装与配置

下载

RocketMQ下载地址:https://archive.apache.org/dist/rocketmq/4.9.2/rocketmq-all-4.9.2-bin-release.zip

将压缩包放到Linux服务器后使用unzip解压

unzip安装命令:yum install unzip

解压后进入目录:

image-20240413163535717

配置环境变量

为RocketMQ配置环境变量:vim /etc/profile

在profile最后一行添加:export NAMESRV_ADDR=localhost:9876

image-20240413163735377

修改nameServer运行脚本

进入bin目录修改runserver.sh文件,将Xms和Xmx改小

vim runserver.sh

image-20240413164101376

上图为已经改好的配置

修改完后wq保存退出

修改broker配置文件

进入conf目录修改broker.conf文件

vim broker.conf

image-20240413164332437

  • namesrvAddr:nameSrver的地址,可以写localhost,因为nameServer和broker在一个服务器
  • autoCreateTopicEnable:自动创建主题,不然需要手动创建
  • brokerIP1:broker也需要一个公网ip,如果不指定就是阿里云的内网地址,我们在本地无法连接使用,我这里的ip就是虚拟机的ip地址

启动RocketMQ

在安装目录下新增logs目录:mkdir logs

image-20240413165444749

logs目录用于存放日志文件

启动nameSrv:nohup sh bin/mqnamesrv > ./logs/namesrv.log &

启动broker(-c指定使用的配置文件):nohup sh bin/mqbroker -c conf/broker.conf > ./logs/broker.log &

image-20240413195212016

安装RocketMQ控制台(可视化MQ的消息发送)

github官方地址:https://github.com/apache/rocketmq-dashboard

jar包下载地址:https://github.com/apache/rocketmq-dashboard/archive/refs/tags/rocketmq-dashboard-1.0.0.zip

下载后进行解压,然后在目录执行:mvn clean package -Dmaven.test.skip=true

将target里面的rocketmq-dashboard-1.0.0.jar包上传到服务器

image-20240413200126686

执行:nohup java -jar rocketmq-dashboard-1.0.0.jar --server.port=8001 --rocketmq.config.namesrvAddr=127.0.0.1:9876 > dashboard.log &

输入:jps -l查看服务是否被启动

image-20240413200334266

启动好了就可以在本机(不是虚拟机)通过访问虚拟机的ip加8001端口访问可视化界面了

image-20240413200359925

至此,RocketMQ就算安装并启动完成了


文章作者: Feliks
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 Feliks !
评论
  目录