• 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”就是与。明白吗?
        头部交换机可以看作是增强型直接交换机。因为它们更加精确的匹配到头部,当路由键不是字符串,而是整形、哈希等的时候,头部交换机可以当做直接交换机来用。

  • 相关阅读:
    数学分析教材编写大纲
    鲁病案号1357324
    数据库-常见函数-分组函数
    Java中的快速输入输出
    数据库-数学函数
    IDEA 常用快捷键 (尚硅谷·宋红康 设置版)——高仿eclipse
    linux下网络死掉了肿么办?(Networking Disabled)
    zookeeper集群搭建
    WMware克隆虚拟机后出现网络无法连接的问题
    Partitioner编程——根据运营商分组统计用户上网流量
  • 原文地址:https://www.cnblogs.com/liuchuanxu/p/5776185.html
Copyright © 2020-2023  润新知