美文网首页
rabbitMQ - 2 - 核心概念

rabbitMQ - 2 - 核心概念

作者: cf6bfeab5260 | 来源:发表于2019-04-25 16:13 被阅读0次
image.png

特殊的关键名词:

vhost:虚拟主机,一个broker里可以有多个vhost,用于不同用户的权限分离。默认guest用户的vhost是 根(\)。
Channel: 发送消息 和 接受消息 都是通过channel,封装了socket协议相关部分逻辑。
Exchange:消息交换机,它指定消息按什么规则,路由到哪个队列
routing key:用于exchange路由,见ExchangeType部分。
binding key:用于exchange路由,见ExchangeType部分。
ExchangeType:有fanout、direct、topic、headers 四种类型。

  • fanout:把所有发送到该Exchange的消息路由到所有与它绑定的Queue中
  • direct: 把消息路由到那些binding key与routing key完全匹配的Queue中


    image.png

上图中,如果ExchangeType=direct,那么只有producer1发送的消息会被customer1收到,而producer2发送的消息不会有任何队列能接收,将被丢弃。如果ExchangeType= fanout,那么cusumer1会收到producer1和producer2的消息,cusumer2会收到producer2的消息,因为该模式只管 exchange是否bind了队列,而不会管key。

  • topic: direct的升级版,支持句号(".")分割和模糊匹配(*匹配一个单词,#匹配0~N个单词)。


    image.png

上图中,product1的消息会被queue1接收,product2的消息会被queue1接收。而queue2不会收到任何消息。

  • headers:headers类型的Exchange不依赖于routing key与binding key的匹配规则来路由消息,而是根据发送的消息内容中的headers属性进行匹配。


    image.png

    如果这里的arguments设置为了 a=b ,那么只有header里也有a=b的键值对时,才会匹配。

下一章 3 springboot集成使用rabbitmq

相关文章

  • rabbitMQ - 2 - 核心概念

    特殊的关键名词: vhost:虚拟主机,一个broker里可以有多个vhost,用于不同用户的权限分离。默认gue...

  • RabbitMQ核心概念

      RabbitMQ是一个开源的消息代理和队列服务器,通过普通协议在各应用之间共享数据。RabbitMq使用Erl...

  • Rabbitmq核心概念

    AMQP核心概念 Server 又称Broker,接受客户端的连接,实现AMQP实体服务 Connection 连...

  • RabbitMQ简介

    RabbitMQ简介: 核心概念 Message Publisher Exchange Queue Binding...

  • RabbitMQ

    1 常见MQ比较 2.RabbitMQ介绍2.1 介绍2.2 AMQP协议2.3 AMQP核心概念2.4 Rabb...

  • RabbitMQ 核心概念总结

    [TOC] RabbitMQ 核心概念总结 ConnectionFactory 获取连接工厂 Connection...

  • Spring boot整合rabbitMQ

    RabbitMQ简单介绍 rabbitMQ是一个由erlang开发的AMQP的开源实现。 核心概念: Mess...

  • rabbitmq核心概念理解

    1、Connection(连接rabbitmq)rabbitmq是遵循AMQP协议的,换句话说其实rabbitmq...

  • rabbit mq 实现延时重试机制

    预备知识 核心概念[https://www.rabbitmq.com/tutorials/tutorial-thr...

  • RabbitMQ核心概念以及工作原理

    RabbitMQ核心概念以及工作原理 英文原文 在这篇短文里,我们会介绍什么是RabbitMQ,它是如何工作的以及...

网友评论

      本文标题:rabbitMQ - 2 - 核心概念

      本文链接:https://www.haomeiwen.com/subject/rtczgqtx.html