【攻克RabbitMQ】基础

​ 消息传递模式:点对点 (P2P, Point-to-Point) 模式和发布/订阅 (Pub/Sub) 模式

作用

​ 解耦、冗余、扩展性、削峰、可恢复性、顺序保证、缓冲、异步通信

具体特点

​ 可靠性、灵活的路由、扩展性、高可用性、多种协议、多语言客户端

消息队列的运转过程:

【攻克RabbitMQ】基础

多个消费者可以订阅同一个队列,这时队列中的消息会被平均分摊(轮询)给多个消费者进行处理,而不是每个消费者都收到所有的消息并处理。

交换器类型

  1. fanout:它会把所有发送到该交换器的消息路由到所有与该交换器绑定的队列中

  2. direct:它会把消息路由到那些BindingKey和RoutingKey完全匹配的队列中

    【攻克RabbitMQ】基础

  3. topic:与direct类型的交换器相似,也是将消息路由到BindingKey和RoutingKey相匹配的队列中

    约定:

    RoutingKey 为一个点号” .”分隔的字符串(被点号” .”分隔开的每一段独立的字符 串称为一个单词 )

    BindingKey 和 RoutingKey 一样也是点号”.”分隔的字符串;

    BindingKey 中可以存在两种特殊字符串”“和”#”,用于做模糊匹配,其中”#”用于匹配一个单词,用于匹配多规格单词(可以是零个)。

  4. headers:不依赖于路由键的匹配规则来路由消息,根据发送消息内容中的headers属性进行匹配。性能比较差,不实用。