IT老齐架构300讲笔记(045) RabbitMQ六种队列模式与应用场景

IT老齐架构300讲笔记(045) RabbitMQ六种队列模式与应用场景,第1张

IT老齐架构300讲笔记(045) RabbitMQ六种队列模式与应用场景

目录

一、RabbitMQ

二、RabbitMQ的六种队列模式

2.1 简单模式

2.2 工作队列模式

2.3 发布订阅模式

2.4 路由模式

2.5 主题模式

2.6 RPC同步通信(阻塞)

专栏链接:IT老齐架构300讲笔记专栏


一、RabbitMQ

  • Producer:生产者,消息的提供者
  • Consumer:消费者,消息的使用者
  • Broker:MQ服务器,管理队列、消息及相关信息
  • Message:消息,程序间的通信的数据
  • Queue:队列,消息存放的容器,消息先进先出
  • Exchange:交换机,用于分发消息
  • 二、RabbitMQ的六种队列模式 2.1 简单模式

    2.2 工作队列模式

  • 本讲将创建一个工作队列(Work Queue),它会发送一些耗时的任务给多个工作者(Worker)。
  • 在多个消息的情况下,Work Queue会将消息分派给不同的消费者,每个消费者都会接收到不同的消息,并且可以根据处理消息的速度来接收消息的数量,进而让消费者程序发挥最大性能。
  • Work Queue特别适合在集群环境中做异步处理,能最大程序发挥每一台服务器的性能。
  • 2.3 发布订阅模式

  • 发布/订阅模式中,生产者不再直接与队列绑定,而是将数据发送至"交换机Exchange"
  • 交换机Exchange用于将数据按某种规则送入与之绑定的队列,进而供消费者使用。
  • 发布/订阅模式中,交换机将无差别的将所有消息送入与之绑定的队列,所有消费者拿到的消息完全相同。
  •  发布/订阅模式使用场景

  • 发布订阅模式因为所有消费者获得相同的消息,所以特别适合“数据提供商与应用商“。
  • 例如:中国气象局提供“天气预报”送入交换机,网易、新浪、百度、搜狐等门户接入通过队列绑定到该交换机,自动获取气象局推送的气象数据。
  • 2.4 路由模式

  • 路由(Routing)模式是在发布订阅模式基础上的变种。
  • 发布订阅模式是无条件将所有消息分发给所有消费者队列。
  • 路由模式则是Exchange根据Routing Key有条件的将数据筛选后发给消费者队列。
  • 2.5 主题模式

  • 主题Topic模式是在Routing模式基础上,提供了对RouteKey模糊匹配的功能,可以简化程序的编写。
  • 主题模式下,模糊匹配表达式规则为
  • * 匹配单个关键字
  • # 匹配所有关键字
  • 2.6 RPC同步通信(阻塞)

    欢迎分享,转载请注明来源:内存溢出

    原文地址: https://outofmemory.cn/zaji/5707162.html

    (0)
    打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
    上一篇 2022-12-17
    下一篇 2022-12-17

    发表评论

    登录后才能评论

    评论列表(0条)

    保存