RabbitMQ入门(3)--发布和订阅
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> ### 发布和订阅 ###(使用java 客户端) 在先前的指南中,我们创建了一个工作队列。这工作队列后面的假想是每一个任务都被准确的传递给工作者。在这部分我们将会做一些完全不同的事情--我们将一个消息传递给多个消费者。这部分被认知为“发布和订阅”。 为了说明这个部分,我们会建立一个简单德日志系统,它是由两个程序组成--第一个发出日志消息,第二个接收和打印它们。 在我们的日志系统中,每一个运行的接收者拷贝程序将会获得信息。通过这个方式我们可以运行一个接收者,直接的把日志记录到硬盘中;在同一时间我们可以运行另一个接收者,在屏幕上看这些日志。 本质上,发布日志消息等同于广播到所有接收者。 ###交换 在先前指南部分,我们将消息发送到队列里,并从队列中接收消息。现在是时候介绍RabbitMQ中全消息模型。 让我们快速温习下在先前指南中我们掌握的: 一个发送消息的生产者是一个用户程序。 一个存储消息的队列是一个缓冲。 一个接收消息的消费者是一个用户程序。 在RabbitMQ消息模型中核心的思想是生产者从不直接将消息发送给队列。实际上,生产者常常甚至不知道是否一个消息会被传递到队列中。 相反,生产者仅能将消息发送到一个交换机。一个交换机是一个非常简单的事物。在它的一遍,它从生产者那里接收消息,另一边将消息推送到队列中