SpringBoot整合RabbitMQ详解

注:以下不是目录而是知识点
————————————基础知识—————————————
1、MQ的重要性
2、MQ概述
3、MQ的优势
4、MQ的劣势
5、常见的MQ产品
6、RabbitMQ概述
7、RabbitMQ安装
8、RabbitMQ管控台使用
9、RabbitMQ快速入门—生产者
10、RabbitMQ快速入门—消费者
11、RabbitMQ工作模式—WorkQueues
12、RabbitMQ工作模式—PubSub生产者
13、RabbitMQ工作模式—PubSub消费者
14、RabbitMQ工作模式—Routing
15、RabbitMQ工作模式—Topics
16、RabbitMQ工作模式—总结
——————————Spring应用知识—————————————
17、Spring整合RabbitMQ—生产者
18、Spring整合RabbitMQ—消费者
19、Spring整合RabbitMQ—配置详解
—————————SpringBoot应用知识—————————————
20、SpringBoot整合RabbitMQ—生产者
21、SpringBoot整合RabbitMQ—消费者
———————————高级知识—————————————
1、开篇
2、高级特性—消息可靠投递-confirm
3、高级特性—消息可靠投递-return
4、高级特性—Consumer Ack
5、高级特性—消费端限流
6、高级特性—TTL
7、高级特性—死信队列-概述
8、高级特性—死信队列-代码
9、高级特性—延迟队列-概述
10、高级特性—延迟队列-代码
11、高级特性—日志与监控
12、高级特性—消息追踪
13、应用问题—消息补偿
14、应用问题—幂等性保障
15、集群搭建—镜像队列
16、集群搭建—haproxy

2 MQ概述

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

  • MQ,消息队列,存储消息的中间件
  • 分布式系统通信两种方式:直接远程调用 和 借助第三方 完成间接通信
  • 发送方称为生产者,接收方称为消费者

3&4 MQ 的优势和劣势

优势

  • 应用解耦
    在这里插入图片描述
    在这里插入图片描述
  • 异步提速
    在这里插入图片描述
    在这里插入图片描述
  • 削峰填谷
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    劣势
    在这里插入图片描述
    在这里插入图片描述

5 常见的 MQ 产品

目前业界有很多的 MQ 产品,例如 RabbitMQ、RocketMQ、ActiveMQ、Kafka、ZeroMQ、MetaMq等,也有直接使用 Redis 充当消息队列的案例,而这些消息队列产品,各有侧重,在实际选型时,需要结合自身需求及 MQ 产品特征,综合考虑。
在这里插入图片描述

6 RabbitMQ 简介

AMQP,即 Advanced Message Queuing Protocol(高级消息队列协议),是一个网络协议,是应用层协议
的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中
间件不同产品,不同的开发语言等条件的限制。2006年,AMQP 规范发布。类比HTTP
在这里插入图片描述
2007年,Rabbit 技术公司基于 AMQP 标准开发的 RabbitMQ 1.0 发布。RabbitMQ 采用 Erlang 语言开发。
Erlang 语言由 Ericson 设计,专门为开发高并发和分布式系统的一种语言,在电信领域使用广泛。
RabbitMQ 基础架构如下图:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
RabbitMQ 提供了 6 种工作模式:简单模式、work queues、Publish/Subscribe 发布与订阅模式、Routing
路由模式、Topics 主题模式、RPC 远程调用模式(远程调用,不太算 MQ;暂不作介绍)。
官网对应模式介绍:https://www.rabbitmq.com/getstarted.html
在这里插入图片描述

JMS

  • MS 即 Java 消息服务(JavaMessage Service)应用程序接口,是一个 Java 平台中关于面向消息中间件的API
  • JMS 是 JavaEE 规范中的一种,类比JDBC
  • 很多消息中间件都实现了JMS规范,例如:ActiveMQ。RabbitMQ 官方没有提供 JMS 的实现包,但是开源社区有

小结

1.RabbitMQ 是基于 AMQP 协议使用 Erlang 语言开发的一款消息队列产品。
2.RabbitMQ提供了6种工作模式,我们学习5种。这是今天的重点。
3.AMQP 是协议,类比HTTP。
4.JMS 是 API 规范接口,类比 JDBC。

RabbitMQ 的安装和配置

入门程序

需求:使用简单模式完成消息传递
步骤:
①创建工程(生成者、消费者)
②分别添加依赖
③编写生产者发送消息
④编写消费者接收消息
在这里插入图片描述

RabbitMQ 的工作模式

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
笔记来源于网络上的黑马笔记整合,更多详情请观看b站黑马视频

猜你喜欢

转载自blog.csdn.net/m0_57249797/article/details/127162955
今日推荐