【IT老齐045】RabbitMQ六种队列模式

【IT老齐045】RabbitMQ六种队列模式

前情提要

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

工作模式

简单模式

1710681233279

工作队列

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

1710681255009

应用

1710681336314

发布订阅

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

1710681394182

应用

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

路由模式

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

1710682590580

主题模式

1710682753317

RPC远程通信

1710682847307

posted @ 2024-03-18 14:30  Faetbwac  阅读(10)  评论(0编辑  收藏  举报