rabbitmq概述

RabbitMQ是一个消息代理,其核心组件包括生产者、交换机、队列和消费者。生产者发送消息,交换机根据预设规则将消息路由到队列。队列是消息的存储区域,消费者则从中消费消息。文章还提到了如Broker、Virtualhost、Connection、Channel、Exchange、Queue和Binding等关键概念,并指出有7种工作模式。
摘要由CSDN通过智能技术生成

Rabbitmq工作模式及架构

1、核心概念

1.1 生产者

产生数据发送消息的程序是生产者

1.2 交互机

交换机是 RabbitMQ核心部件,一方面它接收来自生产者的消息,另一方面它将消息推送到队列中

交换机类型决定

​ 如何处理它接收到的消息,是将这些消息推送到特定队列还是推送到多个队列,或者是把消息丢弃

1.3 队列

队列是 RabbitMQ 内部使用的一种数据结构

  • 消息存储在队列中
  • 队列仅受主机的内存和磁盘限制的约束,本质上是一个大的消息缓冲区
  • 生产者将消息发送到队列
  • 消费者从队列消费数据

1.4 消费者

消费消息数据的程序是消费者,同一个应用程序既可以是生产者又是可以是消费者

2 、基础架构

在这里插入图片描述

3、名词介绍

Broker:接收和分发消息的应用,RabbitMQ Server

Virtual host:出于多租户和安全因素设计的,当多个不同的用户使用同一个 RabbitMQ server 提供的服务时,可以划分出
多个 vhost,每个用户在自己的 vhost 创建 exchange/queue 等

Connection:publisher/consumer 和 broker 之间的 TCP 连接

Channel:Channel 是在 connection 内部建立的逻辑连接,在每个Connection里,可以创建多个Channel,每个Channel代表一次会话,AMQP method 包含了 channel id 帮助客户端和 message broker 识别 channel,所以 channel 之间是完全隔离的。Channel 作为轻量级的Connection 极大减少了操作系统建立 TCP connection 的开销

Exchange:交换机, message 到达 broker 的第一站,根据分发规则,匹配查询表中的 routing key,分发消息到 queue 中去

Queue:队列,每个消息最总都被送到这里,等待consumer消费

Binding: exchange 和 queue 之间的虚拟连接,binding 中可以包含 routing key,Binding 信息被保存到 exchange 中的查询表中,用于 message 的分发依据

4、工作模式

查看官网 rabbitmq官网 共有7种工作模式

后面文章一一介绍
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值