2.10日学习打卡----初学RocketMQ(一)

2.10日学习打卡

对于MQ(Message queue)消息队列的一些解释可以看我原来写的文章 初学RabbitMQ

各大MQ产品比较
2.10日学习打卡----初学RocketMQ(一)_第1张图片
2.10日学习打卡----初学RocketMQ(一)_第2张图片
2.10日学习打卡----初学RocketMQ(一)_第3张图片

一.RocketMQ概述

发展历程

2.10日学习打卡----初学RocketMQ(一)_第4张图片

RocketMQ概念术语

  • 生产者和消费者
    生产者负责生产消息,一般由业务系统负责生产消息,消费者即后台系统,它负责消费消息。
    2.10日学习打卡----初学RocketMQ(一)_第5张图片
  • 消息模型(Message Model)
    消息模型主要有队列模型和发布订阅模型,RabbitMQ采用的是队列模型,如下图所示
    2.10日学习打卡----初学RocketMQ(一)_第6张图片
    RocketMQ采用发布订阅模型,模型如图所示:
    2.10日学习打卡----初学RocketMQ(一)_第7张图片
  • 主题(Topic)

2.10日学习打卡----初学RocketMQ(一)_第8张图片
表示一类消息的集合,每个主题包含若干条消息,每条消息只能属于一个主题,是RocketMQ进行消息订阅的基本单位。

  • 代理服务器(Broker Server)

2.10日学习打卡----初学RocketMQ(一)_第9张图片
消息中转角色,负责存储消息、转发消息。

  • 名字服务(Name Server)

名称服务管理代理服务器broker,相当于一个管理机构。

  • 生产者组(Producer Group)
    2.10日学习打卡----初学RocketMQ(一)_第10张图片
    同一类Producer的集合,这类Producer发送同一类消息且发送逻辑一致。

  • 消费者组(Consumer Group)

2.10日学习打卡----初学RocketMQ(一)_第11张图片
同一类Consumer的集合,这类Consumer通常消费同一类消息且消费逻辑一致。

  • 拉取式消费(Pull Consumer)

2.10日学习打卡----初学RocketMQ(一)_第12张图片
Consumer消费的一种类型,应用通常主动调用Consumer的拉消息方法从Broker服务器拉消息、主动权由应用控制。一旦获取了批量消息,应用就会启动消费过程。

  • 推动式消费(Push Consumer)

2.10日学习打卡----初学RocketMQ(一)_第13张图片
Consumer消费的一种类型,该模式下Broker收到数据后会主动推送给消费端,该消费模式一般实时性较高。

  • 普通顺序消息(Normal Ordered Message)
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/direct/9178444faae640769fb8dca7c5633f2b.png2.10日学习打卡----初学RocketMQ(一)_第14张图片
    普通顺序消费模式下,消费者通过同一个消息队列( Topic 分区,称作 Message Queue) 收到的消息是有顺序的,不同消息队列收到的消息则可能是无顺序的。

  • 严格顺序消息(Strictly Ordered Message)
    2.10日学习打卡----初学RocketMQ(一)_第15张图片
    严格顺序消息模式下,消费者收到的所有消息均是有顺序的。

二 . RocketMQ安装与配置

2.10日学习打卡----初学RocketMQ(一)_第16张图片

环境搭建与测试

下载地址:https://rocketmq.apache.org/zh/release-notes/

2.10日学习打卡----初学RocketMQ(一)_第17张图片
选择第二个 binary 安装

  1. 首先使用rz命令 将文件上传到虚拟机
  2. 解压文件 unzip rocketmq-all-5.1.4-bin-release.zip(自己的版本)
  3. 重命名文件夹名字便于修改 mv rocketmq-all-5.1.4-bin-release rocketmq-5.1.4
  4. 移动文件夹到 /usr/local 目录下 mv rocketmq-5.1.4 /usr/local
  5. 修改环境变量
    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
  1. 启动NameServer nohup sh mqnamesrv &
  2. 启动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

如果我的内容对你有帮助,请点赞,评论,收藏。创作不易,大家的支持就是我坚持下去的动力!
2.10日学习打卡----初学RocketMQ(一)_第18张图片

你可能感兴趣的:(每日学习,学习,rocketmq,ruby)