2.10日学习打卡
对于MQ(Message queue)消息队列的一些解释可以看我原来写的文章 初学RabbitMQ
各大MQ产品比较
一.RocketMQ概述
发展历程
RocketMQ概念术语
- 生产者和消费者
生产者负责生产消息,一般由业务系统负责生产消息,消费者即后台系统,它负责消费消息。
- 消息模型(Message Model)
消息模型主要有队列模型和发布订阅模型,RabbitMQ采用的是队列模型,如下图所示
RocketMQ采用发布订阅模型,模型如图所示:
- 主题(Topic)
表示一类消息的集合,每个主题包含若干条消息,每条消息只能属于一个主题,是RocketMQ进行消息订阅的基本单位。
- 代理服务器(Broker Server)
消息中转角色,负责存储消息、转发消息。
- 名字服务(Name Server)
名称服务管理代理服务器broker,相当于一个管理机构。
-
生产者组(Producer Group)
同一类Producer的集合,这类Producer发送同一类消息且发送逻辑一致。 -
消费者组(Consumer Group)
同一类Consumer的集合,这类Consumer通常消费同一类消息且消费逻辑一致。
- 拉取式消费(Pull Consumer)
Consumer消费的一种类型,应用通常主动调用Consumer的拉消息方法从Broker服务器拉消息、主动权由应用控制。一旦获取了批量消息,应用就会启动消费过程。
- 推动式消费(Push Consumer)
Consumer消费的一种类型,该模式下Broker收到数据后会主动推送给消费端,该消费模式一般实时性较高。
-
普通顺序消息(Normal Ordered Message)
![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/9178444faae640769fb8dca7c5633f2b.png
普通顺序消费模式下,消费者通过同一个消息队列( Topic 分区,称作 Message Queue) 收到的消息是有顺序的,不同消息队列收到的消息则可能是无顺序的。 -
严格顺序消息(Strictly Ordered Message)
严格顺序消息模式下,消费者收到的所有消息均是有顺序的。
二 . RocketMQ安装与配置
环境搭建与测试
下载地址:https://rocketmq.apache.org/zh/release-notes/
选择第二个 binary 安装
- 首先使用rz命令 将文件上传到虚拟机
- 解压文件 unzip rocketmq-all-5.1.4-bin-release.zip(自己的版本)
- 重命名文件夹名字便于修改 mv rocketmq-all-5.1.4-bin-release rocketmq-5.1.4
- 移动文件夹到 /usr/local 目录下 mv rocketmq-5.1.4 /usr/local
- 修改环境变量
vim /etc/profile
export JAVA_HOME=/usr/local/jdk-11.0.11/
export PATH=$PATH:$JAVA_HOME/bin
export ROCKETMQ_HOME=/usr/local/rocketmq-5.1.4(自己的版本)
export PATH=$PATH:$ROCKETMQ_HOME/bin
- 启动NameServer nohup sh mqnamesrv &
- 启动broker nohup sh mqbroker -n localhost:9876
RocketMQ管理命令
mqadmin help 命令名称
- 启动namesrv和broker
./mqnamesrv #启动nameserver
./mqbroker -n localhost:9876 -c /opt/alibaba-rocketmq/conf/broker.conf #启动broker
- #启动broker
tail -f ~/logs/rocketmqlogs/namesrv.log
#查看日志
tail -f ~/logs/rocketmqlogs/broker.log
#查看日志
- 新增topic
mqadmin updateTopic -n localhost:9876 -c DefaultCluster -t topicWarning
- 查看某个topic的状态
mqadmin topicStatus -n localhost:9876 -t topicWarning
- 查看所有消费组group
mqadmin consumerProgress -n localhost:9876
- 查看所有topic
mqadmin topicList -n localhost:9876
- 删除topic
mqadmin deleteTopic -n localhost:9876 -c DefaultCluster -t topicWarning
- 关闭namesrv和broker服务
mqshutdown namesrv
mqshutdown broker
如果我的内容对你有帮助,请点赞,评论,收藏。创作不易,大家的支持就是我坚持下去的动力!