zoukankan      html  css  js  c++  java
  • RabbitMQ Exchange分类学习 渣渣翻译

    • Default Exchange

       默认交换机是broker事先声明的一个无名字(空字符串)的直接交换机(direct Exchange),它有一个让它很有用或对一般简单应用很起作用的特点:每创建一个队列,都会以队列名称作为路由键(Route Key)被绑定到该交换机上。
       举个例子:创建队列“search-indexing-online”,AMQP broker会把“search-indexing-online”作为路由键,绑定到默认交换机上。因此,发送以“search-indexing-online”作为路由键的消息,会被路由到默认交换机(废话)。换句话说呢,默认交换机和队列直接进行消息传递。(直接用队列名进行路由指定,对于简单应用,用它就足够了)

    • Direct Exchange

        直接交换机:通过消息的路由键,向队列传递消息。理论上,被用在单播路由消息上(后边就理解是啥玩意了),看一下它怎么工作吧:

    1. 一个队列以K作为路由键 绑定到直接交换机
    2. 一个新消息以路由键R到达直接交换机,如果K=R,就会被路由到步骤1的队列上去。

        直接交换机还有个常用的用途:通过轮询的方式广播分发给多个应用实例,这种时候要明白,这么做平衡了消费者的压力,而不是队列的压力。( in AMQP 0-9-1啥意思)

    • Fanout Exchange

        扇形交换机:无视一切路由键,将消息发送给绑在它下面的所有队列。如果它下面绑了N个队列,来一条消息了,扇形交换机就会复制一份给所有下面的队列。所以,它常用来做广播功能。
        因为扇形交换机采用复制广播,所以以下场景格外合适:

    1. MMO网游的公告栏 通知栏
    2. 体育新闻网站为移动设备及时的更新推送分数
    3. 群聊中成员收发消息。因为AMQP没有内置在场(在线)的概念,所以XMPP更合适(XMPP是一种基于标准通用标记语言的子集XML的协议)
    • Topic Exchange

        主题交换机:根据路由键和队列交换机绑定模式的匹配度,来路由消息。主题交换机经常用在随机性强的发布、订阅类型的场景。一般用来做广播。
        使用示例:

    1. 分发诸如销售网点一类特殊地点相关的数据
    2. 处理多任务后台进程
    3. 股票价格或者其他金融数据更新
    4. 话题性新闻
    5. 处理不同的云服务
    6. 分发针对每个系统的软件发布
    • Headers Exchange

        头部交换机: 用来路由那些拥有相对于使用路由键,更适合放在头部的多个属性的消息。它无视路由键,而是获取路由的头部。如果消息头部的值和路由匹配,就会通过。
        很多情况下,一个队列会绑定多个header到头部交换机,这时候,broker需要开发者提供多个头信息以及或与非关系。或与非,通过配置“x-match”来实现,“Any”就是或,“All”就是与。明白吗?
        头部交换机可以看作是增强型直接交换机。因为它们更加精确的匹配到头部,当路由键不是字符串,而是整形、哈希等的时候,头部交换机可以当做直接交换机来用。

  • 相关阅读:
    如何通过命令行窗口查看sqlite数据库文件
    eclipse自动补全的设置
    文本装饰
    注释和特殊符号
    文本装饰
    网页背景
    通过ArcGIS Server admin 查看和删除已注册的 Web Adaptor
    通过 ArcGIS Server Manager 查看已安装的 Web Adaptor
    通过 ArcGIS Server Manager 验证 DataStore
    Windows上安装ArcGIS Enterprise——以 Windows Server 2012 R2上安装 ArcGIS 10.8为例
  • 原文地址:https://www.cnblogs.com/liuchuanxu/p/5776185.html
Copyright © 2011-2022 走看看