zoukankan      html  css  js  c++  java
  • rabbitmq 学习8 Exchange Queue RoutingKey关系说明

    String queue = channel.queueDeclare("test.queue").getQueue();

    Rabbitmq Server 会有以下操作:

    • 定义了一个queue,名称为test.queue
    • queue的名称(test.queue)作为routingKey,将当前这个queue binding到一个默认的exchange(名称为空,服务器自动创建的)上

    如果我们 binding的话

    channel.queueBind("test.queue", "test.exchange", "test.routingkey");

    上边和默认的Exchange进行的binding还是会存在的

    经过同事lucas多次测试发现,以前认为RoutingKey是唯一的或由Exchange和RoutingKey决定一条唯一的由Exchange到Queue的线路是不正确的
    测试结果如下:

    Exchange Name

    Queue Name

    Routing Key

    test.queue     

    test.queue

    test.queue2    

    test.queue2

    test.exchange  

    test.queue     

    test.routingkey

    test.exchange  

    test.queue2    

    test.routingkey

    test.exchange  

    test.queue     

    test.routingkey2

    test.exchange1

    test.queue     

    test.routingkey

    由结果可以看出,由ExchangeQueueRoutingKey三个才能决定一个从Exchange到Queue的唯一的线路。

    画张图,不是很准确

    rabbitmq 学习-8- Exchange Queue RoutingKey关系说明 - micro sun - 学无止境

  • 相关阅读:
    调用https接口 报错:unable to find valid certification path
    POI生成Excel
    杂七杂八记录
    maven 打jar 包 pom.xml配置
    IDEA 全局修改项目版本
    Spring AOP的内部调用问题
    redis 中文乱码
    windows redis cluster 配置
    spring事物失效场景
    Mybatis常用示例
  • 原文地址:https://www.cnblogs.com/amityat/p/2160053.html
Copyright © 2011-2022 走看看