本文翻译自RabbitMQ官网。
1、RabbitMQ的介绍
使用消息队列的一个主要的目的是解决数据消费速度和生产速度不一致的问题。
Rabbit MQ是众多消息代理中的一种。本质上,它负责从生产者接收到消息,然后将消息发送给消费者。在这个过程中,它可以根据你的选择对消息传递进行路由、缓存消息或者是持久化消息。先来看一些术语:
(1)生产者即为发送者,发送消息的程序即为生产者,这里简称为P;
(2)队列:队列驻存在RabbitMQ中,消息可以在RabbitMq和应用之间流动,但最终消息是存储在队列中的。本质上,队列是一个有无限容量的buffer,可以存储尽可能多的消息,生产者可以将消息发送到一个队列,消费者也可以从一个队列中取消息。这里称队列为queue_name;
(3)消费者即为接收者,一般是等待着接收消息的应用。这里简称为C;
2、安装与配置
下载erlang OTP 18.3 Windows 64-bit Binary File:https://www.erlang.org/downlowds
下载rabbitmq_server-3.6.1 :https://www.rabbitmq.com/download.html
启动server,如下:
在maven中配置需要依赖的RabbitMQ客户端:
然后就可以开发RabbitMQ的demo了。
3、一个简单的demo
这个demo实现的功能很简单:
(1)有一个生产者,向消息队列中发送消息,消息为:“hello rabbit”;
(2)有一个消息队列,队列名称为:“hello”;
(3)有一个消费者,从消息队列中取消息,并打印出具体消息,如图所示。
实现:
(1)生产者:
首先创建连接工厂(ConnectionFactory),这里使用spring框架自动注入,如下所示:
这里还添加了几个属性。
然后创建连接(Connection):
然后创建通道(Channel):
创建消息队列(Queue):
其中:
queue -- 队列的名称
durable -- 队列的持久属性,在RabbitMQ重启后队列会不会丢失
exclusive -- 队列的排他属性,如果为true,则为创建该队列的消费者私有
autoDelete -- 队列的自动删除属性,在消费者断开连接的时候,队列是否会删除
然后生产者就可以发布消息了:
(2)消费者:
消费者的前期配置基本与生产者相同,注意队列的名称和属性要一致。
注意有一个onBussiness方法,这就是在接收到消息之后,要做的处理工作。
(3)结果
先运行生产者,后运行消费者,消费端结果如下:
消费成功。
相关推荐
x-oss-process=style/pnp8 (42.73KB, 下载次数:227) 下载附件 2019-12-2023 :01 上传【课程介绍】:第一章 : RabbitMQ介绍:消息中间件概念、RabbitMQ安装、RabbitMq客户端调用的Java实现。 第 2 章:RabbitMQ 概念...
RabbitMQ入门介绍,初学者宝典,chm文档,方便阅读。
RabbitMQ 的配置项通俗易懂,安全可靠的投递性,近于实时的补偿性,考虑周全的监控性等特性,使其成为消息通信中间件的不二之选。 知识点4:RabbitMQ 安装 RabbitMQ 的安装需要 Erlang 环境的支持,可以通过下载 ...
RabbitMQ是世界上最受欢迎的开源消息队列系统之一,它基于AMQP(Advanced Message Queuing Protocol)协议,提供了高效、可靠的异步通信能力。`rabbitmq-c`是RabbitMQ的一个C语言客户端库,它使得在C程序中与...
RabbitMQ的介绍与安装使用
RabbitMQ是一个开源的消息代理...通过以上介绍,我们了解了RabbitMQ的基本概念、安装方法、Java集成以及如何构建高可用的消息传递方案。在实际开发中,可以根据项目需求选择合适的策略,确保消息传递的稳定性和可靠性。
以上是对RabbitMQ服务器3.10.5版的基本介绍,通过这些知识点,开发者可以理解RabbitMQ的核心功能,以及如何在实际项目中部署和使用它。在实际操作中,还需要根据具体需求进行更深入的学习和配置。
**RabbitMQ基础** ...通过以上介绍,我们可以看到这个项目不仅涵盖了RabbitMQ的基础知识,还展示了如何在SpringBoot应用中集成和测试RabbitMQ,对于学习和实践RabbitMQ与SpringBoot的结合使用非常有帮助。
5. **关键API介绍** - **rabbitmq_connection_init**: 初始化连接结构体,准备建立到RabbitMQ服务器的连接。 - **rabbitmq_channel_open**: 打开一个新的通道,通道是RabbitMQ中进行操作的基本单位。 - **...
本文将详细介绍RabbitMQ的默认配置文件模板`rabbitmq.config.example`和`advanced.config.example`。 1. **rabbitmq.config.example** 这是RabbitMQ的基础配置文件,包含了RabbitMQ服务器启动时所需的默认设置。它...
在本教程中,我们将详细介绍RabbitMQ的安装过程,并提供最新的软件包。 首先,我们需要下载RabbitMQ的安装包。在提供的压缩文件中,有两个重要的文件:`otp_win64_20.2.exe` 和 `rabbitmq-server-3.7.4 (1).exe`。`...
RabbitMQ是一个开源的消息代理系统,它基于AMQP(Advanced Message Queuing Protocol)协议,用于在分布式系统中实现可靠的消息传递。RabbitMQ的核心功能是作为消息中间件,它允许不同应用之间通过消息进行通信,...
介绍Spring Cloud Stream与RabbitMQ集成的代码示例。Spring Cloud Stream是一个建立在Spring Boot和Spring Integration之上的框架,有助于创建事件驱动或消息驱动的微服务。
**RabbitMQ详解** RabbitMQ是一个开源的消息代理和队列服务器,它基于AMQP(Advanced Message Queuing Protocol)协议,被广泛应用于分布式系统中,用于处理异步任务、消息传递以及服务之间的通信。RabbitMQ的核心...
下面我们将详细介绍每个离线安装文件的作用以及安装过程。 1. **Erlang RPM 包** (`erlang-21.3.8.16-1.el7.x86_64.rpm`): Erlang 是 RabbitMQ 的基础,因为 RabbitMQ 是用 Erlang 编程语言编写的。Erlang 提供了...
**RabbitMQ基础介绍** RabbitMQ是一款开源的消息队列系统,基于AMQP(Advanced Message Queuing Protocol)协议实现,广泛应用于分布式系统中,用于处理异步任务、解耦组件以及提供可靠的消息传递。它由Erlang语言...
此外,官方文档也是深入理解RabbitMQ功能和特性的关键资源,包括了详细的API参考、插件介绍以及最佳实践。 **五、RabbitMQ插件** RabbitMQ提供了丰富的插件以增强其功能: 1. **Management Plugin**:提供了一个...
下面,我们将详细介绍RabbitMQ的安装过程及相关知识点。 首先,我们需要下载RabbitMQ的安装包。在这个例子中,我们有一个名为"rabbitMQ安装包.zip"的压缩文件。这个文件包含了RabbitMQ服务器的安装程序和其他必要的...