0


RabbitMQ入门

文章目录

RabbitMQ

什么是RabbitMQ?

RabbitMQ 是一个由 Erlang 开发的 面向消息中间件,使用了 AMQP 高级消息队列协议,它是一种应用程序之间的通信方法,消息队
列在分布式系统开发中应用非常广泛

为什么要用RabbitMQ?

1.对我们服务之间进行解耦

2.异步的发送消息通信

3.可以将消息持久化存储

4.分布式系统下具备削峰负载均衡异步等高级功能

RabbitMQ的结构

Exchange:消息队列交换机,按一定的规则将消息路由转发到某个队列,对消息进行过虑。
Queue:消息队列,存储消息的队列,消息到达队列并转发给指定的消费方。
Producer:消息生产者,即生产方客户端,生产方客户端将消息发送到MQ。
Consumer:消息消费者,即消费方客户端,接收MQ转发的消息。

RabbitMQ官网

https://www.rabbitmq.com/getstarted.html

安装

安装 RabbitMQ 首先需要安装 Erlang,安装完后才能安装 RabbitMQ ,打开浏览器输入http://localhost:15672/,进入RabbitMQ 自带的管理页面,默认账号密码是guest/guest

RabbitMQ的工作模式

1.简单模式

在这里插入图片描述

简单模式:就是一个生产者一个消费者,中间通过一个队列直接连接

可以生动形象的理解为会议室来了一个人,这个人拿起地上的网线捡起来插在自己的笔记本上

2.工作模式

在这里插入图片描述

工作模式:就是有多个消费者消费队列里的消息,队列里的消息只能被一个消费者消费,这样多部署几个消费者,就可以缓解压力,

会议室现在有两个人了,两个人轮流插网线,需要网的时候就用

3.发布订阅模式

在这里插入图片描述

发布订阅模式:上面两种模式生产者的消息只能被一个消费者消费,不符合某些实际场景。所以我们需要用到一个Exchange交换机角色来帮助我们把消息发给所有订阅我们的队列。

会议室现在来了三个人,轮流着来太麻烦了,于是给网线连上了路由器,都可以上网了

4.路由模式

在这里插入图片描述

路由模式:路由模式就是交换机并不是给所有订阅他的队列发送消息了,而是根据路由键来确定应该给哪个队列发送消息,队列和交换机绑定的时候需要通过路由键,而生产者发送消息的时候也需要指定路由键,这样就可以确定给哪个队列发送消息了。

连的人越来越多,发现网很卡,原来是隔壁在蹭网,需要给设置一个密码,密码一样才能连接

5.通配符模式

在这里插入图片描述

Topics模式:Topics模式就相当于模糊匹配,假如我想给姓张的发送消息,那么我就可以通过主题模式给所有姓张的发送消息。

密码太长太难记了,于是设置了,以123开头的所有密码都可以连接,只要是123开头,后面不管接什么都可以连接了

6.RPC

在这里插入图片描述

1、客户端即是生产者就是消费者,向RPC请求队列发送RPC调用消息,同时监听RPC响应队列。

2、服务端监听RPC请求队列的消息,收到消息后执行服务端的方法,得到方法返回的结果

3、服务端将RPC方法 的结果发送到RPC响应队列

4、客户端(RPC调用方)监听RPC响应队列,接收到RPC调用结果。

7.Header

在这里插入图片描述

不同于路由模式,header模式是通过key:value的格式来匹配的

标签: rabbitmq 分布式 java

本文转载自: https://blog.csdn.net/weixin_51288860/article/details/125098313
版权归原作者 mmmmores 所有, 如有侵权,请联系我们删除。

“RabbitMQ入门”的评论:

还没有评论