本文是译文,原文请访问:http://www.rabbitmq.com/tutorials/tutorial-one-spring-amqp.html
RabbitMQ 是一个Brocker (消息队列服务器),它接受和转发消息 .
你可以将它当做邮局:
当你将要发布的邮件放在邮箱中时,您可以确定邮件先生或Mailperson女士最终会将邮件发送给您的收件人。在这个比喻中,RabbitMQ是邮箱,邮局和邮递员。
RabbitMQ和邮局之间的主要区别在于它不处理信纸,而是接受,存储和转发二进制大对象 blob(binary large object )数据 ——消息
RabbitMQ和一般的消息传递使用了一些术语
1. 生产者
生产者仅仅只是发送。一个发送消息的程序就是生产者:
2. 队列
队列是RabbitMQ中的邮箱的名称。虽然消息流经RabbitMQ和您的应用程序,但它们只能存储在队列中。甲队列仅由主机的存储器和磁盘限制约束,它本质上是一个大的消息缓冲器。
许多生产者可以发送到一个队列的消息,并且许多消费者可以尝试从一个队列接收数据。这就是我们代表队列的方式:
3. 消费者
消费这与生产者有类似的意义。一个消费者是一个程序,主要是等待接收信息:
请注意,生产者,消费者和代理不必驻留在同一主机上; 实际上在大多数应用中他们没有。应用程序既可以是生产者也可以是消费者。
"Hello World"
(使用 spring-amqp client)
在本教程的这一部分中,我们将使用spring-amqp库编写两个程序; 发送单个消息的生产者,以及接收消息并将其打印出来的消费者。
我们将掩盖Spring-amqp API中的一些细节,专注于这个非常简单的事情才开始。它是消息传递的“Hello World”。
在下图中,“P”是我们的生产者,“C”是我们的消费者。中间的框是一个队列 - RabbitMQ代表消费者保留的消息缓冲区。
Spring AMQP框架
RabbitMQ说多种协议。本教程使用AMQP 0-9-1,它是一种开放的,通用的消息传递协议。RabbitMQ有许多不同语言的客户端 。
Spring AMQP利用Spring Boot进行配置和依赖管理。Spring支持maven或gradle,但在本教程中,我们将选择带有Spring Boot 1.5.2的maven
提供:
- group id (列如: org.springframework.amqp.tutorials)
- artifact id (e.g. rabbitmq-amqp-tutorials)
- 搜索 RabbitMQ依赖,然后选择 RabbitMQ 依赖
生成项目并将生成的项目解压缩到您选择的位置。
现在可以将其导入您喜欢的IDE中。或者,您可以从您喜欢的编辑器处理它。
原文地址:https://www.cnblogs.com/xingyunblog/p/9773525.html