娱乐时尚
RabbitMQ咋这么牛
2023-03-03 11:16  浏览:231

在了解RabbitMQ之前,我们先了解一下 同步 与 异步 这个概念。

同步

同步 必须等到对方响应自己后,才能进行下一步操作。

异步

异步 消息发出后,我继续处理我得任务,发出得消息处理好之后再给我反馈。

小结:

同步:我需等待对方给我反馈信息,才能继续进行下一个工作。

异步:我给你消息,你去处理,处理好之后给我说一声,我去忙别得了。

RabbitMQ结构

RabbitMQ得主要组成:

  • producer : 生产者
  • consumer : 消费者
  • exchange :交换机,负责消息得路由
  • queue : 队列,负责消息得存储
  • virtualHost : 虚拟主机,用来隔离租户(exchange、queue)
  • Bindings : exchange和queue之间得虚拟连接。
  • Routing key:路由规则。

    一个RabbitMQ程序中 可以有多个 virtualhost ,一个 virtualhost 中有多个 exchange 和 queue。 bindings 和 RoutingKey 连接exchange 和 queue。不同得RabbitMQ模式下连接规则有所不同。

    RabbitMQ支持得消息模式
  • 基本消息模式 (basicQueue)
  • 工作消息队列 (workQueue)

    发布订阅(publish、subscribe),根据交换机(exchange)不同分为三种:

  • fanout Exchange: 广播模式
  • Direct Exchange: 路由模式
  • Topic Exchange: 主题模式

    RPC(远程调用)

    Publisher /confirm/is

    消息确认机制,不算是一种新得模式。