我是靠谱客的博主 温婉芒果,最近开发中收集的这篇文章主要介绍生产者消费者模式_RabbitMQ指南之三:发布/订阅模式(Publish/Subscribe)1、交换器(Exchange),觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

在上一章中,我们创建了一个工作队列,工作队列模式的设想是每一条消息只会被转发给一个消费者。本章将会讲解完全不一样的场景: 我们会把一个消息转发给多个消费者,这种模式称之为发布-订阅模式。

为了阐述这个模式,我们将会搭建一个简单的日志系统,它包含两种程序:一种发送日志消息,另一种接收并打印日志消息。在这个日志系统里,每一个运行的消费者都可以获取到消息,在这种情况下,我们可以实现这种需求:一个消费者接收消息并写入磁盘,另一个消费者接收消息并打印在电脑屏幕上。简单来说,生产者发布的消息将会以广播的形式转发到所有的消费者。

1、交换器(Exchange)

在前两章节我们,我们往队列中发布消息或获取消息,然而,前面的讲解其实并不完整,接下来,是时候介绍完整的RabbitMq消息模型了。

回忆一下我们前两章指南中包含的内容:

  • 一个生产者用以发送消息;
  • 一个队列缓存消息;
  • 一个消费者用以消费队列中的消息。

RabbitMq消息模式的核心思想是:一个生产者并不会直接往一个队列中发送消息,事实上,生产者根本不知道它发送的消息将被转发到哪些队列。

实际上,生产者只能把消息发送给一个exchange,exchange只做一件简单的事情:一方面它们接收从生产者发送过来的消息,另一方面,它们把接收到的消息推送给队列。一个exchage必须清楚地知道如何处理一条消息。

0e6a40509f116c1ca58c43f84f2ba17a.png

有四种类型的交换器,分别是:direct、topic、headers、fanout。本章主要讲解最后一种:fanous(广播模式)。下面创建一个fanout类型的交换器,我们称之为:logs:

1 channel.exchangeDeclare("logs

最后

以上就是温婉芒果为你收集整理的生产者消费者模式_RabbitMQ指南之三:发布/订阅模式(Publish/Subscribe)1、交换器(Exchange)的全部内容,希望文章能够帮你解决生产者消费者模式_RabbitMQ指南之三:发布/订阅模式(Publish/Subscribe)1、交换器(Exchange)所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(43)

评论列表共有 0 条评论

立即
投稿
返回
顶部