RabbitMQ 学习笔记(一):简单介绍及"Hello World"

RabbitMQ 简单介绍:

RabbitMQ是一个消息代理,即它的功能为:接受和转发消息

你可以把它想象成一个邮局:当你把你想要的邮件放在邮箱里,你可以肯定邮差先生最终会把邮件送到你的收件人那里。在这个类比中,RabbitMQ相当于一个邮筒、一个邮局和一个邮差。

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

RabbitMQ和一般的消息传递使用到一些术语:

生产( producing)意味着发送消息。发送消息的程序是生产者( producer ):

队列( queue)是在RabbitMQ内的一个邮箱的名称。尽管消息通过RabbitMQ和您的应用程序流,但它们只能存储在队列中。队列仅由主机的内存和磁盘限制绑定,它本质上是一个大的消息缓冲(buffer)。许多生产者可以发送到一个队列的消息,许多用户可以尝试从一个队列接收数据。这就是我们如何表示一个队列:

消费( consuming)也有类似的含义。消费者( consumer)是一个主要等待接收消息的程序:

请注意,生产者、使用者和代理(broker)不必驻留在同一主机( host )上 。实际上在大多数应用程序中,它们不需要驻留在同一主机上。

简单的应用 — “Hello World!”

在本教程中,我们将在Java中编写两个程序 : 一个发送单个消息的生成器,以及接收
消息并将其打印出来的使用者。我们将对Java API中的一些细节进行粉饰,将注意力集中在这个非常简单的事情上。这只是一个“Hello World”的消息传递。

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

这里需要顺便提一下Java客户端库( the Java cilent library ):
RabbitMQ讲多种协议。本教程使用AMQP 0 - 9 - 1,这是一种开放的、通用的消息传递协议。有许多不同语言的RabbitMQ客户。我们将使用RabbitMQ提供的Java客户机。下载客户端库(client library)及其依赖关系(SLF4J APISLF4J Simple)。将这些文件以及教程Java文件,复制到您的工作目录中。
请注意,SLF4J Simple就足够用于教程,但是您应该使用一个成熟的日志库,如在生产中的Logback。(带有标识符com.rabbitmq和名字 amqp - client的RabbitMQ Java客户机,也在中央Maven存储库中。)

现在有了Java客户端库及其依赖关系,我们可以开始编写代码。

生产者发送消息:

我们将称呼我们的消息发布者(publisher)为 Send 和我们的消息接收者(或者消费者)为 RecvSend 将连接到RabbitMQ,发送一条消息,然后退出。

首先,在Send.java中,我们需要import一些类:

import com.rabbitmq.client.ConnectionFactory;
import com.rabbitmq.client.Connection;
import com.rabbitmq.client.Channel;
  • 0
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值