消息队列RabbitMQ快速入门示例demo

​  本文属于RabbitMQ入门级文章,相当于RabbitMQ的Hello World篇,目的是让读者快速搭建一个RabbitMQ服务,通过一个示例快速了解RabbitMQ的功能,整个过程中无需写任何代码,让读者对RabbitMQ有初步的了解和认识。

1、RabbitMQ是什么

  RabbitMQ 是一个由 Erlang 语言开发的 AMQP 的开源实现。 ​ AMQP :Advanced Message Queue,高级消息队列协议。它是应用层协议的一个开放标准,为面向消息的中间件设计,基于此协议的客户端与消息中间件可传递消息,并不受产品、开发语言等条件的限制。 ​ RabbitMQ 最初起源于金融系统,用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

具体特点包括:

  1. 可靠性(Reliability) ​ RabbitMQ 使用一些机制来保证可靠性,如持久化、传输确认、发布确认。
  2. 灵活的路由(Flexible Routing) ​ 在消息进入队列之前,通过 Exchange 来路由消息的。对于典型的路由功能,RabbitMQ已经提供了一些内置的 Exchange 来实现。针对更复杂的路由功能,可以将多个Exchange 绑定在一起,也通过插件机制实现自己的 Exchange 。
  3. 消息集群(Clustering) ​ 多个 RabbitMQ 服务器可以组成一个集群,形成一个逻辑 Broker
  4. 高可用(Highly Available Queues) ​ 队列可以在集群中的机器上进行镜像,使得在部分节点出问题的情况下队列仍然可用。
  5. 多种协议(Multi-protocol) ​ RabbitMQ 支持多种消息队列协议,比如 STOMP、MQTT 等等。
  6. 多语言客户端(Many Clients) ​ RabbitMQ 几乎支持所有常用语言,比如 Java、.NET、Ruby 等等。
  7. 管理界面(Management UI) ​ RabbitMQ 提供了一个易用的用户界面,使得用户可以监控和管理消息 Broker 的许多方面。
  8. 跟踪机制(Tracing) ​ 如果消息异常,RabbitMQ 提供了消息跟踪机制,使用者可以找出发生了什么。
  9. 插件机制(Plugin System) ​ RabbitMQ 提供了许多插件,来从多方面进行扩展,也可以编写自己的插件。

2、下载RabbitMQ

验证环境如下:

windows系统:Windows 10
Erlang:otp_win64_24.3
RabbitMQ:3.10.1

 

这里通过官网下载需要的版本:https://www.rabbitmq.com/

 

进入官网向下拉,找到 Download + Installation 下载+安装,点击进入。

 

在新页面找到右侧,Install Windows 安装windows版本

 

进入页面后,下拉页面,找到 Dependencies 依赖关系,下载Erlang安装包和rabbitmq安装包:

 

 

下载Erlang安装包页面,选择跟你操作系统对应的版本:

 

 

 

 

3、安装RabbitMQ

3.1、安装Erlang

下载完成后,先安装otp_win64_24.3.exe。鼠标右键以管理员方式运行,接着选取要安装的路径,然后一路傻瓜式安装 next 下一步,安装即可。注意不要安装在中文的路径下。

安装otp_win64_24.3完成后,配置系统环境变量,右键此电脑 - 属性 - 高级系统设置 - 环境变量。找到系统变量path,把otp安装的bin路径C:\Program Files\erl-24.3\bin\添加上即可。

 

3.2、安装 RabbitMQ

找到RabbitMQ安装文件,右键管理员运行,然后选择安装路径,接着一路 next 下一步即可。注意不要安装在中文路径下。

安装完成后找到安装文件路径,找到 sbin 目录下,打开命令行cmd,在命令行里切换到sbin目录下,输入如下命令:rabbitmq-plugins enable rabbitmq_management

 

 

运行成功后,打开任务资源管理器,找到rabbitmq服务右键重新启动。

 

 

安装完成后,通过浏览器访问RabbitMQ控制台http://localhost:15672

 

默认的账号:guest,密码:guest。登录成功后。进入下面页面即代表安装成功。

 

4、如何使用RabbitMQ

为了大家快速上手rabbitMQ的功能,我们直接到码云开源社区下载一个工程,无需写任何代码,就可以运行起来:

Spring-rabbitMQ: Spring boot整合消息队列RabbitMQ

下载完成后,导入到IDEA里,运行:

 

启动springboot工程后,访问http://127.0.0.1:8081/demo

 

这个页面里提供了4种消息模式,以“生产者-消费者模型”测试,填入信息后,点击生产消息按钮,向队列生产消息。

 

查看程序控制台,发现消息被监听消费了。

 

其中,开发监听程序也很简单,只需要配置@RabbitListener注解即可

@Component

public class QueueListener1 {

   @RabbitListener(queues = "myqueue")

   public void displayMail(Mail mail) throws Exception {

      System.out.println("队列监听器1号收到消息"+mail.toString());

   }

}

其它3种消息模式,这里不再展开描述,请读者自行验证。

RabbitMq相关的一些专业术语,比如:Direct Exchange直连型交换机、Fanout Exchange扇型交换机、Topic Exchange主题交换机、消息回调、手动确认等,请参考推荐文章。

 

posted @ 2022-06-13 17:09  我不是大肥虎  阅读(444)  评论(0编辑  收藏  举报