上一篇博客中,我们实现了工作队列,并且我们的工作队列中的一个任务只会发给一个工作者,除非某个工作者未完成任务意外被杀死,会转发给另外的工作者。在这部分中,我们会做一些完全不同的事情 - 我们会向多个消费者传递信息。这种模式被称为“发布/订阅”。
RabbitMQ是2007年发布,是一个在AMQP基础上完成的,简称MQ全称为Message Queue, 消息队列是一种应用程序对应用程序的通信方法,由Erlang语言开发,可复用的企业消息系统,是当前最主流的消息中间件之一,具有可靠性、灵活的路由、消息集群简单、队列高可用、多种协议的支持、管理界面、跟踪机制以及插件机制。
RabbitMQ是目前非常热门的一款消息中间件,不管是互联网大厂还是中小企业都在大量使用。本章主要讲述的是RabitMQ 的入门知识,首先介绍了生产者、消费者、队列、 交换器、 路由键. 绑定、连接和信道等基本术语,还介绍了交换器的类型: fanout. direct, topic和headers.之后通过介绍RabbiMQ的运转流程来加深对基本术语的理解。
MQ,中文意思是消息队列,字面来看就是存放消息的队列,也就是事件驱动架构中的Broker。使用JSON序列化,我们可以在父工程导入,也可以在两个子工程中都导入:1.在消息发送方Publisher 编写配置类,也可不写配置类,写在启动类中 :步骤一:先导入依赖,可以导入父工程中,也可以在提供者的工程中导入,声明在父工程最好,因为消息接收服务也需要导入依赖。
前提:RabbitMQ是一个在AMQP协议标准基础上完整的,可服用的企业消息系统。它遵循Mozilla Public License开源协议,采用 Erlang 实现的工业级的消息队列服务器,Rabbit MQ 是建立在Erlang OTP平台上。