RabbitMQ 入门一(Java版)

前提条件:

该入门指南假定 RabbitMQ 已经安装并且运行在 localhost 上的标准端口 (5672)。

如果您使用不同的主机、端口或者凭证,连接设置也需要进行相应的调整。

1.概述

RabbitMQ是一个message broker(消息代理):它接收和转发消息。

你可以把它想象成一个邮局:当你把你想要邮寄的邮件放到邮箱里时,你可以确定邮差先生最终会把邮件寄给你的收件人。在这个类比中,RabbitMQ是一个邮筒,一个邮局和一个邮差。

RabbitMQ与邮局的主要区别在于,它不处理纸张,而是接收存储转发二进制的数据——消息。

RabbitMQ和常规的消息传递都使用了一些术语。
生产就是发送。发送消息的程序是生产者(producer )。

一个队列(queue)就相当于RabbitMQ内的一个邮箱的名称。尽管消息流通过RabbitMQ和您的应用程序,但它们只能存储在队列中。

队列只受主机的内存和磁盘限制的约束,本质上是一个大的消息缓冲区

许多生产者可以发送消息到一个队列,许多消费者可以尝试从一个队列接收数据。这就是我们描述队列的方式。

消费与接收有相似的含义。消费者(consumer )就是一个主要用来等待接收消息的程序。

注意!生产者、消费者和代理不需要驻留在同一个主机上;  事实上,在大多数应用程序中,它们都没有在一起。


2.“Hello World!”

在这里,我们将用Java编写两个程序:发送单个消息的生产者,以及接收消息并将其打印出来的消费者。

我们将对Java API中的一些细节进行忽略,重点集中于这个非常简单的事情,以便开始。

传递的消息是“Hello World”。

在下图中,P是我们的生产者,C是我们的消费者。中间的框是一个队列——RabbitMQ代表消费者保存的消息缓冲区。


The Java client library

RabbitMQ支持多种协议。本教程使用AMQP 0-9-1,这是一种开放的、通用的消息传递协议。有许多不同语言的RabbitMQ客户端。我们将使用RabbitMQ提供的Java客户端。

下载客户端库及其依赖关系(SLF4J API和SLF4J Simple)。将这些文件复制到您的工作目录中,和教程Java文件放在一起。

请注意SLF4J Simple对教程来说是足够用的,但是在生产中您应该使用一个成熟的日志库,比如Logback 

(RabbitMQ Java客户端也在中央Maven存储库中,使用groupId com.rabbitmq和artifactId amqp-client

现在我们有了Java客户端及其依赖项,我们可以编写一些代码了。

原文地址



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值