【RabbitMQ】---RabbitMQ 工作流程和 web 界面介绍

发布于:2025-09-08 ⋅ 阅读:(19) ⋅ 点赞:(0)

 

界⾯上的导航栏共分 6 部分,这 6 部分分别是什么意思呢,我们先看看 RabbitMQ 的⼯作流程

当你要发送⼀个邮件时,你把你的邮件放到邮局,邮局接收邮件,并通过邮递员送到收件⼈的⼿上.

   按照这个逻辑, Producer 就类似邮件发件⼈. Consumer 就是收件⼈, RabbitMQ 就类似于邮局

专业术语

 Producer 和 Consumer

  •    Producer:⽣产者,是 RabbitMQ Server的客户端,向 RabbitMQ 发送消息 
  •    Consumer: 消费者,也是RabbitMQ Server的客户端,从 RabbitMQ 接收消息 
  •    Broker:其实就是RabbitMQ Server, 主要是接收和收发消息

• ⽣产者(Producer)创建消息,然后发布到 RabbitMQ 中.在实际应⽤中,消息通常是⼀个带有⼀定业务逻辑结构的数据,⽐如 JSON 字符串.消息可以带有⼀定的标签,RabbitMQ 会根据标签进⾏路由,把消息发送给感兴趣的消费者(Consumer).

   • 消费者连接到 RabbitMQ 服务器,就可以消费消息了,消费的过程中,标签会被丢掉.消费者只会收到 消息,并不知道消息的⽣产者是谁,当然消费者也不需要知道.

 • 对于 RabbitMQ 来说,⼀个 RabbitMQ Broker 可以简单地看作⼀个 RabbitMQ 服务节点,或者 RabbitMQ 服务实例.⼤多数情况下也可以将⼀个 RabbitMQ Broker 看作⼀台 RabbitMQ 服务器

Connection 和 Channel

        Connection:连接. 是客户端和 RabbitMQ 服务器之间的⼀个TCP连接.这个连接是建⽴消息传递的基础,它负责传输客户端和服务器之间的所有数据和控制信息.

        Channel:通道,信道.Channel 是在 Connection 之上的⼀个抽象层.在 RabbitMQ 中,⼀个 TCP 连接可以有多个 Channel ,每个 Channe l都是独⽴的虚拟连接.消息的发送和接收都是基于 Channel 的.通道的主要作⽤是将消息的读写操作复⽤到同⼀个 TCP 连接上,这样可以减少建⽴和关闭连接的开销,提⾼性能.

Virtual host

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

Queue

        Queue:队列,是 RabbitMQ 的内部对象,⽤于存储消息.

多个消费者,可以订阅同⼀个队列

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)中,如果未找到相应的队列,则根据⽣产者 的配置,选择丢弃或者退回给⽣产者.

 如果我们把RabbitMQ⽐作⼀个物流公司,那么它的⼀些核⼼概念可以这样理解:

        1. Broker 就类似整个物流公司的总部,它负责协调和管理所有的物流站点,确保包裹安全、⾼效地送 达.

        2. Virtual Host可以看作是物流公司为不同的客户或业务部⻔划分的独⽴运营中⼼.每个运营中⼼都有⾃⼰的仓库(Queue),分拣规则(Exchange)和运输路线(Connection和Channel),这样可以确保 不同客户的包裹处理不会相互⼲扰,同时提供定制化的服务

        3. Exchange就像是站点⾥的分拣中⼼.当包裹到达时,分拣中⼼会根据包裹上的标签来决定这个包裹 应该送往哪个⽬的地(队列).快递站点可能有不同类型的分拣中⼼,有的按照具体地址分拣,有的将 包裹复制给多个收件⼈等.

         4. Queue 就是快递站点⾥的⼀个个仓库,⽤来临时存放等待派送的包裹.每个仓库都有⼀个或多个快 递员(消费者)负责从仓库中取出包裹并派送给最终的收件⼈.

        5. Connection 就像是快递员与快递站点之间的通信线路.快递员需要通过这个线路来接收派送任务 (消息).

        6. Channel就像是快递员在执⾏任务时使⽤的多个并⾏的通信线路.这样,快递员可以同时处理多个 包裹,⽐如⼀边派送包裹,⼀边接收新的包裹

web 界⾯操作

用户相关操作

添加⽤户

点击 Admin ->Add user

设置账号密码及权限

更新/删除用户

点击要操作的⽤户,查看⽤户详情

 找到并点击 Update/Delete 即可进行更新或删除

设置对虚拟机的操作权限

退出当前⽤户

虚拟主机相关操作

创建虚拟主机

 在 Admin 标签⻚下,点击右侧 Virtual Hosts -> Add a new virtual host  设置虚拟主机名称

观察设置结果

为虚拟主机设置用户

        点击虚拟主机进入详情页面,选择用户后点击 Set permission 为虚拟主机设置用户


网站公告

今日签到

点亮在社区的每一天
去签到