RabbitMQ官方入门教程中文版(java)第三部分 发布/订阅

发布/订阅(Publish/Subscribe)

上一篇教程中,我们学习了创建工作队列。这种情况假定工作队列中的每一个任务只会被分配给一个工作者(worker)。在这篇教程中,我们要做的事情完全相反——我们会把消息发送给多个消费者。这种模式被叫做 “发布/订阅模式”。

我们将通过建立一个简单的日志系统来解释这种模式。系统由两个程序组成——第一个程序负责发布日志信息,第二程序接收并打印出这些信息。

在这个日志系统中,每一个运行中的接收者进程都会收到消息。这种情况下,我们可以实现不同的消费者执行不同的功能,有的可以直接将日志记录到磁盘,同时,其他消费者可能在向屏幕中输出日志信息。

交换机(exchange)

在前面的教程中,我们都是通过queue发送和接收消息。现在是时候介绍一下完整的消息模型了。

我们这里快速回顾一下前面的教程所做的事情:

   生产者程序负责发送消息。

   队列负责存储消息。

   消费者程序负责接收消息。

在RabbitMQ的消息模型中,核心思想是生产者不会直接向队列发送任何消息。通常,生产者甚至都不知道消息是否真的发送到了某个队列中。

相反,消费者只会向交换机(exchange)发送消息。交换机其实是一个非常简单的东西。一方面它会从消费者方向接收信息,另一方面把这些消息推送到队列。交换机必须明确的知道如何处理接收到的消息。这条消息该被推送到某个特定的队列吗?或者是多个队列中,再或者被丢弃掉,这些都是通过交换机类型(

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值