三、发布订阅

上一节的练习中我们创建了一个工作队列。队列中的每条消息都会被发送至一个工作进程。这节,我们将做些完全不同的事情——我们将发送单个消息发送至多个消费者。这种模式就是广为人知的“发布订阅”模式。

为了说明这种模式,我们将构建一个简单的日志系统。包括2个应用程序,一个传送日志消息另一个接收并打印这些消息。

我们的日志系统中每一个运作的接收端程序都会收到这些消息。这种方式下,我们就可以运行一个接收端发送日志消息至硬盘,同时可以运行另一个接收端将日志打印到屏幕上。

理论上讲,已发布的日志消息将会被广播到所有的接收者。

交换器(Exchange

之前的几节练习中我们发送接收消息都是在队列中进行,是时候介绍下RabbitMQ完整的消息传递模式了。

先来迅速的回顾下我们之前章节:

  • 一个生产者就是一个用来发送消息的应用程序

  • 一个 队列好比存储消息的缓存buffer

  • 一个消费者就是一个用户应用程序用来接收消息

网友评论