Rabbitmq---队列和交换机

队列

​ Queue:队列,是Rabbitmq的内部对象,用于存储消息。

​ 多个消费者可以订阅同一个队列,这时队列中的消息会被平均分摊(Round-Robin,即轮询)

Rabbitmq---队列和交换机_第1张图片

Queue中的消息会被Consumer1和Consumer2轮番消费。

交换机

交换机:即生产者把消息发送到队列的桥梁。

交换机常用的交换机类型有fanout、direct、topic、headers四种。

  1. fanout:会把所有发送到交换机信息都路由到与该交换机绑定的队列中。

  2. direct:会根据消息的RoutingKey,完全匹配对应交换机与队列的BindingKey,让然后发送到对应的队列。

    Rabbitmq---队列和交换机_第2张图片

  3. topic:也是,RoutingKey和BindingKey的匹配,不过是模糊匹配。他们都是为点号“.”分割的字符串,但是BindingKey可以有两个特殊字符,*(匹配一个单词)和#(0个、1个或者多个)。

Rabbitmq---队列和交换机_第3张图片

  1. headers(基本不用):headers类型的交换机不依赖路由键的匹配规则来路由信息,而是根据发送的消息内容中的headers属性进行匹配。

知是行之始,行是知之成

你可能感兴趣的:(#,Rabbitmq,交换机,队列,rabbitmq)