RocketMQ(一):Linux安装RocketMQ

1. 基本概念

  • 名字服务(Name Server)
    名称服务充当路由消息的提供者。生产者或消费者能够通过名字服务查找各主题相应的Broker IP列表。多个Namesrv实例组成集群,但相互独立,没有信息交换。

  • 代理服务器(Broker Server)
    消息中转角色,负责存储消息、转发消息。代理服务器在RocketMQ系统中负责接收从生产者发送来的消息并存储、同时为消费者的拉取请求作准备。代理服务器也存储消息相关的元数据,包括消费者组、消费进度偏移和主题和队列消息等。

  • 消息生产者(Producer)
    负责生产消息,一般由业务系统负责生产消息。一个消息生产者会把业务应用系统里产生的消息发送到broker服务器。RocketMQ提供多种发送方式,同步发送、异步发送、顺序发送、单向发送。同步和异步方式均需要Broker返回确认信息,单向发送不需要。

  • 消息消费者(Consumer)
    负责消费消息,一般是后台系统负责异步消费。一个消息消费者会从Broker服务器拉取消息、并将其提供给应用程序。从用户应用的角度而言提供了两种消费形式:拉取式消费、推动式消费。

  • 主题(Topic)
    表示一类消息的集合,每个主题包含若干条消息,每条消息只能属于一个主题,是RocketMQ进行消息订阅的基本单位。

  • 消息(Message)
    消息系统所传输信息的物理载体,生产和消费数据的最小单位,每条消息必须属于一个主题。RocketMQ中每个消息拥有唯一的Message ID,且可以携带具有业务标识的Key。系统提供了通过Message ID和Key查询消息的功能。

  • 标签(Tag)
    为消息设置的标志,用于同一主题下区分不同类型的消息。来自同一业务单元的消息,可以根据不同业务目的在同一主题下设置不同标签。标签能够有效地保持代码的清晰度和连贯性,并优化RocketMQ提供的查询系统。消费者可以根据Tag实现对不同子主题的不同消费逻辑,实现更好的扩展性。

2. 安装RocketMQ

2.1 下载

版本:4.8.0

源码下载地址:https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.8.0/rocketmq-all-4.8.0-source-release.zip

Bin下载地址(推荐):https://www.apache.org/dyn/closer.cgi?path=rocketmq/4.8.0/rocketmq-all-4.8.0-bin-release.zip

下载成功后,上传到 /opt 目录,并解压

unzip rocketmq-all-4.8.0-bin-release.zip
mv rocketmq-all-4.8.0-bin-release /usr/local/rocketmq-4.8.0
cd /usr/local/rocketmq-4.8.0/bin

2.2 修改JVM配置

RocketMQ 的使用需要分别启动 Name Server 和 Broker,这两个服务默认配置了4G 和 8G 的堆空间,大家根据实际情况更改即可。我这边是虚拟机,所以全部改成1G

  • 修改 bin/runserver.sh
    在这里插入图片描述
  • 修改 bin/runbroker.sh

在这里插入图片描述

2.3 常用命令

启动 Name Server

nohup sh mqnamesrv &

启动 Broker

nohup sh mqbroker -n localhost:9876 &

根据配置文件启动 Broker

sh mqbroker -n "localhost:9876" -c /usr/local/rocketmq-4.8.0/conf/broker.conf &

关闭 Name Server

sh mqshutdown namesrv

关闭 broker

sh mqshutdown broker

查看所有消费组group

sh mqadmin consumerProgress -n localhost:9876

查看指定消费组下的所有topic数据堆积情况

sh mqadmin consumerProgress -n localhost:9876 -g default_consumer

查看所有topic

sh mqadmin topicList -n localhost:9876

查看指定topic信息详情统计

sh mqadmin topicstatus -n localhost:9876 -t TopicTest

新增topic

sh mqadmin updateTopic -b localhost:10911 -n localhost:9876 -t test1 [-r readQueueNums] [-w writeQueueNums]

删除topic

sh mqadmin deleteTopic -n localhost:9876 -c DefaultCluster -t test1

查看集群信息

sh mqadmin  clusterList -n localhost:9876

3. 安装RocketMQ-Console

RocketMQ-Console 是官方提供的可视化管理工具,可以更方便进行运维、查询操作

下载地址:https://github.com/apache/rocketmq-externals/archive/rocketmq-console-1.0.0.zip

下载后解压,然后通过IDEA打开项目,修改 application.properties 红框的位置:
在这里插入图片描述
运行MAVEN命令打包:

mvn clean package -DskipTests

执行完毕后,target 目录下会生成 rocketmq-console-ng-1.0.0.jar,拷贝到服务器上(我这里是放到 /opt/jar)

执行命令运行:

nohup java -jar rocketmq-console-ng-1.0.0.jar &

打开浏览器,输入地址:http://192.168.25.131:8080/ ,完美运行
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/qq_28834355/article/details/113420903