RabbitMQ 详解

本文详细介绍了消息队列MQ的基本概念,重点解析了RabbitMQ的原理与应用场景。通过Windows环境下的安装步骤,展示了RabbitMQ的安装与管理。接着,通过SpringBoot项目实践,演示了RabbitMQ的单生产者-单消费者、单生产者-多消费者、多生产者-多消费者、topic模式和广播模式的实现,帮助读者深入理解RabbitMQ的使用技巧。
摘要由CSDN通过智能技术生成

今天闲来无事,复习了一早上,把 RabbitMQ 简单总结下,看着感觉能理解到精髓,请给个赞,多谢!!!

Now,步入正题!

1、什么是 MQ ?

首先,你肯定会去百度什么是 RabbitMQ,了解下这个东西到底是啥个鬼?到底有啥子用?对吧?

其实啊,大家都知道,MQ 都是用来做消息队列的,从字面意思上来看,本质是一个队列,FIFO 先入先出,只不过队列中存放的是 message(消息)而已。它的主要用途:不同进程Process/线程Thread之间通信。

而我们今天想学习的 RabbitMQ 只是一种 MQ 中的一种消息队列。

为什么会产生消息队列?有几个原因:

不同进程(process)之间传递消息时,两个进程之间耦合程度过高,改动一个进程,引发必须修改另一个进程,为了隔离这两个进程,在两进程间抽离出一层(一个模块),所有两进程之间传递的消息,都必须通过消息队列来传递,单独修改某一个进程,不会影响另一个;

不同进程(process)之间传递消息时,为了实现标准化,将消息的格式规范化了,并且,某一个进程接受的消息太多,一下子无法处理完,并且也有先后顺序,必须对收到的消息进行排队,因此诞生了事实上的消息队列;
 

当前 MQ 框架非常之多,比较流行的有RabbitMq、ActiveMq、ZeroMq、kafka,以及阿里开源的RocketMQ。

 

2、什么是 RabbitMQ ?

AMQP,即Advanced Message Queuing Protocol,高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。消息中间件主要用于组件之间的解耦,消息的发送者无需知道消息使用者的存在,反之亦然。 AMQP的主要特征是面向消息、队列、路由(包括点对点和发布/订阅)、可靠性、安全。 RabbitMQ是一个开源的AMQP实现,服务器端用Erlang语言编写,支持多种客户端,如:Python、Ruby、.NET、Java、JMS、C、PHP、ActionScript、XMPP、STOMP等,支持AJAX。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

RabbitMQ是一个消息代理 - 一个消息系统的媒介。它可以为你的应用提供一个通用的消息发送和接收平台,并且保证消息在传输过程中的安全。

开发语言为:Erlang –– 面向并发的编程语言。

 

3、网址

官网:

http://www.rabbitmq.com

安装地址:

http://www.rabbitmq.com/download.html

 

Elang下载:

http://www.erlang.org/download/otp_win64_17.3.exe

 

接下来就要开始战斗了,准备好了吗?

4、安装RabbitMQ

打开 http://www.rabbitmq.com/download.html

5、下载完开始搭建 RabbitMQ 环境(当前所述皆为  Windows 环境下,LInux 环境下尚未研究)

a)下载 Elang:http://www.erlang.org/download/otp_win64_17.3.exe

下载完之后就跟平时安装软件一样,Next...Next 就可以了。

安装完成后,我们要安装 RabbitMQ 了。

b)双击打开 rabbitmq-server-3.7.15.exe 

和安装软件一毛一样,下一步即可,安装完成。

然后打开开始菜单,就会看到下图:

 

c)双击启动管理工具 RabbitMQ Command Prompt (sbin dir)

输入命令:rabbitmq-plugins enable rabbitmq_management

这样我们就启动了管理工具。

如果启动/停止 RqbbitMQ,则输入下面的命令方可:

停止:net stop RabbitMQ
启动:net start RabbitMQ

见证奇迹的时刻到了,我们来看下成果。

d)打开浏览器,在地址栏输入 :http://127.0.0.1:15672

登陆界面出来了,用户名和密码都为 guest,然后登陆,就可以看到下方界面,说明我们的 RabbitMQ 安装成功了。

如果要管理功能的话,可以自行管理。

 

 

6、接下来,就要用项目验证了。

代码资源下载地址:https://download.csdn.net/download/qq_39415129/11557188

此项目是基于 SpringBoot 的,所以需要对 SpringBoot 要有一定的了解。

首先要引入 RabbitMQ 的依赖:

<dependency>
   <groupId>com.rabbitmq</groupId>
   <artifactId>amqp-client</artifactId>
   <version>3.4.1</version>
</dependency>

然后在 src/main/resources里新增 application.properties文件

spring.application.name=spirng-boot-rabbitmq
spring.rabbitmq.host=127.0.0.1
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest

我是将 SpringBoot 的主类改为了 Appllication,大家可以自行决定,当然也可不改。

主类代码很简单,最基本的 SpringBoot 启动类:


                
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值