0
点赞
收藏
分享

微信扫一扫

RabbitMQ核心概念及工作流程 + AMQP

小云晓云 2024-12-05 阅读 9

文章目录

一. RabbitMQ核心概念

RabbitMQ是⼀个消息中间件, 也是⼀个⽣产者消费者模型. 它负责接收, 存储并转发消息

1. Producer, Consumer, Broker

  • Producer: ⽣产者, 是RabbitMQ Server的客⼾端, 向RabbitMQ发送消息
  • Consumer: 消费者, 也是RabbitMQ Server的客⼾端, 从RabbitMQ接收消息
  • Broker:其实就是RabbitMQ Server, 主要是接收和收发消息
    在这里插入图片描述
    在这里插入图片描述

2. Connection和Channel

  • Connection: 连接. 是客⼾端和RabbitMQ服务器之间的⼀个TCP连接. 这个连接是建⽴消息传递的基础, 它负责传输客⼾端和服务器之间的所有数据和控制信息.
  • Channel: 通道, 信道. Channel是在Connection之上的⼀个抽象层. 在 RabbitMQ 中, ⼀个TCP连接可以有多个Channel, 每个Channel 都是独⽴的虚拟连接. 消息的发送和接收都是基于 Channel的.

通道的主要作⽤是将消息的读写操作复⽤到同⼀个TCP连接上,这样可以减少建⽴和关闭连接的开销,
提⾼性能.
在这里插入图片描述

3. Virtual host

  • Virtual host: 虚拟主机. 这是⼀个虚拟概念. 它为消息队列提供了⼀种逻辑上的隔离机制. 对于RabbitMQ⽽⾔, ⼀个 BrokerServer 上可以存在多个 Virtual Host. 当多个不同的⽤⼾使⽤同⼀个RabbitMQ Server 提供的服务时,可以虚拟划分出多个 vhost,每个⽤⼾在⾃⼰的 vhost 创建exchange/queue 等

类似MySQL的"database", 是⼀个逻辑上的集合. ⼀个MySQL服务器可以有多个database.

4. Queue

  • Queue: 队列, 是RabbitMQ的内部对象, ⽤于存储消息.在这里插入图片描述
    多个消费者, 可以订阅同⼀个队列
    在这里插入图片描述

5. Exchange

  • Exchange: 交换机. message 到达 broker 的第⼀站, 它负责接收⽣产者发送的消息, 并根据特定的规则把这些消息路由到⼀个或多个Queue列中.
    Exchange起到了消息路由的作⽤,它根据类型和规则来确定如何转发接收到的消息.

类似于发快递之后, 物流公司怎么处理呢, 根据咱们的地址来分派这个快递到不同的站点, 然后再送到
收件⼈⼿⾥. 这个分配的⼯作,就是交换机来做的
在这里插入图片描述

二. RabbitMQ的工作流程

在这里插入图片描述

  1. Producer ⽣产了⼀条消息
  2. Producer 连接到RabbitMQBroker, 建⽴⼀个连接(Connection),开启⼀个信道(Channel)
  3. Producer 声明⼀个交换机(Exchange), 路由消息
  4. Producer 声明⼀个队列(Queue), 存放信息
  5. Producer 发送消息⾄RabbitMQ Broker
  6. RabbitMQ Broker 接收消息, 并存⼊相应的队列(Queue)中, 如果未找到相应的队列, 则根据⽣产者的配置, 选择丢弃或者退回给⽣产者.

三. AMQP

AMQP(Advanced Message Queuing Protocol)是⼀种⾼级消息队列协议, AMQP定义了⼀套确定的消息交换功能, 包括交换器(Exchange), 队列(Queue) 等. 这些组件共同⼯作, 使得⽣产者能够将消息发送到交换器. 然后由队列接收并等待消费者接收. AMQP还定义了⼀个⽹络协议, 允许客⼾端应⽤通过该协议与消息代理和AMQP模型进⾏交互通信

RabbitMQ是遵从AMQP协议的,换句话说,RabbitMQ就是AMQP协议的Erlang的实现(当然RabbitMQ还⽀持STOMP2, MQTT2等协议). AMQP的模型结构和RabbitMQ的模型结构是⼀样的.
在这里插入图片描述

四. web界面操作

对用户操作

  1. 添加用户
    在这里插入图片描述
  2. 删除用户
    点击用户名
    在这里插入图片描述
    在这里插入图片描述
  3. 对虚拟机的权限操作
    在这里插入图片描述
  4. 退出当前用户
    在这里插入图片描述

对虚拟机操作

  1. 创建虚拟主机
    在这里插入图片描述
  2. 删除虚拟机
    在这里插入图片描述
    在这里插入图片描述
  3. 修改用户权限
    在这里插入图片描述
举报

相关推荐

0 条评论