RabbitMQ以及整合SpringBoot2.x实战教程

一、mq介绍,不同mq的特点

1.1 什么是mq

在这里插入图片描述

1.2 不同mq的特点

在这里插入图片描述

二、RabbitMQ 的引言

2.1 RabbitMQ

基于AMQP协议,erlang语言开发,是部署最广泛的消息中间件,最受欢迎的消息中间件之一。

2.2 RabbitMQ 的安装

进入官网,点击get start
在这里插入图片描述

在这里插入图片描述
我们选择centos的版本进行下载
在这里插入图片描述
选择版本进行下载
在这里插入图片描述
在这里插入图片描述
下载完总共这三个文件
在这里插入图片描述
下面开始安装
在这里插入图片描述
在这里插入图片描述

实操
在这里插入图片描述
在这里插入图片描述
编辑配置文件
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

三、RabbitMQ的管理命令行和管理界面初识

3.1 web管理界面介绍

在这里插入图片描述

四.RabbitMQ的第一个程序

4.1 AMQP协议的回顾

在这里插入图片描述

4.2 RabbitMQ支持的消息模型

在这里插入图片描述
在这里插入图片描述

4.3 新建项目

![在这里插入图片描述](https://img-blog.csdnimg.cn/20210130151548659.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0pBVkFfTGVhcm5lcl9aUw==,size_16,color_FFFFFF,t_70
在这里插入图片描述
在这里插入图片描述

4.4 引入依赖

<!--rabbitMQ依赖 -->
<dependency>
    <groupId>com.rabbitmq</groupId>
    <artifactId>amqp-client</artifactId>
    <version>5.7.2</version>
</dependency>

4.5 新建虚拟主机,账户,并且分配账户虚拟主机权限

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
点击上图的用户名ems,给用户分配虚拟主机的访问权限
在这里插入图片描述
在这里插入图片描述

4.6 开发生产者

4.6.1 第一种模型(直连)

在这里插入图片描述

4.6.2测试类

  • 生产者测试类
    在这里插入图片描述
    在这里插入图片描述

运行测试代码,之后在管理页面查看
在这里插入图片描述

  • 消费者测试类
    在这里插入图片描述

4.6.3 RabbitMQ连接工具类封装

在这里插入图片描述

4.6.2 第二种模型(worker quene)

在这里插入图片描述
生产者测试类
在这里插入图片描述
消费者测试类
消费者-1
在这里插入图片描述
消费者-2
在这里插入图片描述
测试结果
在这里插入图片描述

  • 问题: 如果两个消费者,一个消费得慢,另外一个消费的快,这种情况也是遵循平均分配,下面就来实现能者多劳的模式,先完成的消费者多消费,而慢的消费者则少消费~!
    rabbitMQ的消息确认机制:比如生产者生产了10条消息,这时有两个消费者,消费者消费的同时,会把十条消息一次性平均分配给两个消费者,并且把这十条消息从队列里删除,也就是每个消费者一次性得到五条消息,队列里消息被全部消费,那么就有一个问题!!!我们不能保证消费者都能把这个五条消息正确的全部执行完成,所有我们优化以上的消费者代码
    在这里插入图片描述
    在这里插入图片描述

4.6.3 第三种模型(fanout) 扇出,也称为广播

在这里插入图片描述
生产者测试类
在这里插入图片描述

消费者测试类 (建立多个测试,代码一样)
在这里插入图片描述

4.6.4 第四种模型 Routing(路由)之订阅模型-Direct(直连)

在这里插入图片描述
在这里插入图片描述
开发生产者
在这里插入图片描述

开发消费者1,只接受error路由的消息
在这里插入图片描述
开发消费者2,接受info,warning,error路由的消息
在这里插入图片描述

4.6.5 第四种模型 Routing(路由)之订阅模型-Tppic(动态路由)

在这里插入图片描述
在这里插入图片描述
生产者测试类
在这里插入图片描述

消费者1测试类
在这里插入图片描述

消费者2测试类
在这里插入图片描述

五、springboot整合rabbitMQ

5.1 搭建初始环境

1.创建一个springboot项目,引入依赖

在这里插入图片描述
在这里插入图片描述

2.编写配置

在这里插入图片描述
在这里插入图片描述

3.编写代码

3.1 第一种模型

3.1.1 生产者
在这里插入图片描述
3.1.2 消费者

在这里插入图片描述

3.2 第二种模型 worker模型

3.2.1 开发生产者
在这里插入图片描述
3.2.2 开发消费者
在这里插入图片描述

3.3 第三种模型 发布订阅模型 fanout 广播

3.3.1 创建生产者
在这里插入图片描述
3.3.2 创建消费者
在这里插入图片描述

3.4 第四种模型 路由模型 Routing

3.4.1 开发生产者
在这里插入图片描述
3.4.2 开发消费者
在这里插入图片描述

3.5 第五种模型 动态路由模型 topics 订阅模式

3.5.1 开发生产者
在这里插入图片描述
3.5.2 开发消费者
在这里插入图片描述

六、 应用场景

6.1异步处理

在这里插入图片描述
在这里插入图片描述

6.2 应用解耦

在这里插入图片描述

6.3 流量削峰

七.RabbitMQ的集群

7.1 集群架构

7.1.1 普通集群(副本集群)

在这里插入图片描述
1.架构图
在这里插入图片描述
很少使用,这是镜像集群的基础
副本模式:只同步交换机,不同步队列,队列还是存放在master主节点里
2.集群搭建
2.1 准备三台虚拟机,并安装rabbitMQ并配置好
2.2 保证三台机器上 .erlang.cookie 是一样的,如果不是一样的,就复制任意一台虚拟主机的到另外两台主机
在这里插入图片描述
2.3 修改之前先关闭三台虚拟主机的rabbitMQ

在这里插入图片描述
2.4 根据下方命令把一台主机的 .erlang.cookie复制到另外两台虚拟机
在这里插入图片描述
2.5 启动rabbitMQ(这是后台启动,没有加载插件,所有看不到web 界面)
在这里插入图片描述
在这里插入图片描述
2.5 关闭两个想作为从节点的两个rabbitMQ服务
在这里插入图片描述
2.6 给两台从机执行 加入集群的命令
在这里插入图片描述
2.7 命令执行完之后执行启动从机命令
在这里插入图片描述
2.8 查看集群状态
在这里插入图片描述

** 全部过程**
在这里插入图片描述

7.1.2 镜像集群

在这里插入图片描述

7.1.2.1 集群架构图

在这里插入图片描述

7.1.2.1 配置集群架构

在这里插入图片描述

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值