MQ、RabbitMQ学习

1、MQ的基本概念:

1.1 MQ概述

MQ全称Message Queue (消息队列),是在消息的出传输过程中保存消息的容器,多用于分布式系统之前进行通信
在这里插入图片描述

小结

  • MQ 、消息队列、存储消息的中间件
  • 发送放称为生产者,接收方称为消费者

1.2 MQ 的优势和劣势

优势:

  • 应用解耦 —— 提高系统的容错性和可维护性
    在这里插入图片描述

  • 异步提速 —— 提高用户体验和系统吞吐量
    在这里插入图片描述

  • 削峰填谷 —— 提高系统稳定性

削峰

在这里插入图片描述

填谷

在这里插入图片描述


劣势:

  • 系统的可用性降低
  • 系统的复杂度提高
  • 一致性问题
    在这里插入图片描述

1.3 常见的MQ产品

目前业界有很多的MQ产品,例如:RabbitMQ、RockerMQ、ActiveMQ、Kafka、ZeroMQ、MetaMQ等,在实际选型中,需要结合系统自身需求及产品特征,综合考虑
在这里插入图片描述


1.4 RabbitMQ 介绍

1. AMQP,是一个网络协议,称为高级消息队列协议,是应用层的一个开放标准,面向消息的中间件设计
在这里插入图片描述

Pubisher: 生产者 —— 负责消息的生产
Exchange: 交换机 —— 负责分发消息给队列
Routes: 路由 —— 负责交换机分发消息给具体的队列
Queue: 队列 —— 负责消息的存储
Consumer: 消费者 —— 负责消息的消费

生产者 生产消息 给交换机,交换机通过路由配置规则分发给具体的队列 消费者再消费队列里的消息


2. RabbitMQ 架构图
在这里插入图片描述
Broker: RabbitMQ服务端
Producer: 生产者客户端
Connection: 客户端与服务端建立的连接
channel: 连接里的管道
Exchange: 交换机
Binding: 队列与交换机的连接
Queue: 队列
VirtualHost: 虚拟机
Consumer: 消费者客户端

介绍:
该图 中间Broker 为RabbitMQ 服务端,也就是我们要在物理机上安装的MQ 中间件,用于服务我们的客户端,
俩侧 分别为生产者(Producer)与消费者(Consumer)的客户端,与服务端建立连接(Connection) ,为了节省每次连接消耗的资源, 通过管道(channel)与服务端建立通信,每个服务端里有很多的虚拟机(VirtualHost),这个很好理解,类似于MySQL,每个MySQL 里有很多的库,每个库里有不同的表,那么在MQ 中的的虚拟机里就有交换机与队列,起到了逻辑分区的作用, 交换机可以绑定到不同的队列,至于交换机绑定到那个队列上,取决于binding 这么一个过程


3. RabbitMQ工作模式

4. 队列的属性

属性名属性名称说明默认值
durable是否持久化true: MQ重启还会存在true
exclusive1.是否独占 2.当connection 关闭时,是否删除只能有一个消费者监听
autoDelete是否自动删除当没有消费者监听时 是否自动删除
argments参数参数

未更新完,以后更新

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值