更新时间:2024-10-25 GMT+08:00

绑定RabbitMQ Exchange

绑定Exchange是将Exchange和Exchange/Queue关联起来,在生产者发送消息到Exchange后,Exchange根据路由规则将消息发送到与其关联的Exchange/Queue中。

本章节指导如何在控制台绑定Exchange,支持为Exchange绑定目标Exchange,或者为Queue绑定源Exchange。一个Exchange可以绑定多个目标Exchange,一个Queue可以绑定多个源Exchange。

约束与限制

  • RabbitMQ 3.x.x版本中,名为“(AMQP default)”的Exchange不能绑定任何Exchange。
  • RabbitMQ AMQP-0-9-1版本的Exchange不支持绑定Exchange,只支持绑定Queue。
  • “Internal”为“是”的Exchange只能绑定Exchange,不能绑定Queue。

前提条件

创建Exchange

为Exchange绑定目标Exchange

  1. 登录管理控制台。
  2. 在管理控制台左上角单击,选择区域。

    此处请选择RabbitMQ实例所在的区域。

  3. 在管理控制台左上角单击,选择“应用中间件 > 分布式消息服务RabbitMQ版”,进入分布式消息服务RabbitMQ专享版页面。
  4. 单击实例名称,进入实例详情页面。
  5. 在左侧导航栏选择“Vhost列表”,进入Vhost列表页面。
  6. 单击Vhost名称,进入Vhost详情页。
  7. 在“Exchange”页签中,在待绑定的Exchange后,单击“绑定”,弹出“绑定”页面。
  8. 单击“添加绑定”,弹出“添加绑定”对话框。
  9. 参考表1,设置绑定参数。

    表1 绑定参数说明

    参数

    说明

    类型

    仅RabbitMQ 3.x.x版本包含此参数,RabbitMQ AMQP-0-9-1版本只支持绑定Queue。

    选择Exchange绑定的类型。绑定Exchange时选择“Exchange”。

    绑定目标

    在下拉框中选择需要绑定的目标Exchange。

    Routing Key

    设置Key值字符串,用于告知Exchange应该将消息投递到哪些目标Exchange中。

    • Direct Exchange和Topic Exchange需要设置Routing Key,Exchange会将消息路由到Routing Key匹配成功的目标Exchange中。如果不设置Routing Key,Exchange会将消息路由到所有与它绑定的目标Exchange中。
    • x-consistent-hash Exchange需要设置Routing Key,Routing Key表示Queue的权重。数值越大,Queue的权重越大,分发消息时接收到的消息越多。
    • Fanout Exchange和Header Exchange无需设置Routing Key,Routing Key对于这两种Exchange不起作用。

  10. 单击“确定”,完成Exchange的绑定。

    在“绑定”页面,查看新绑定的Exchange。

为Queue绑定源Exchange

  1. 登录管理控制台。
  2. 在管理控制台左上角单击,选择区域。

    此处请选择RabbitMQ实例所在的区域。

  3. 在管理控制台左上角单击,选择“应用中间件 > 分布式消息服务RabbitMQ版”,进入分布式消息服务RabbitMQ专享版页面。
  4. 单击实例名称,进入实例详情页面。
  5. 在左侧导航栏选择“Vhost列表”,进入Vhost列表页面。
  6. 单击Vhost名称,进入Vhost详情页。
  7. 在“Queue”页签的待绑定的Queue所在行,单击“查看详情”,弹出“查看详情”页面。
  8. 在“绑定信息”页签,单击“添加绑定”,弹出“添加绑定”对话框。
  9. 参考表2,设置绑定参数。

    表2 绑定参数说明

    参数

    说明

    绑定源端

    在下拉框中选择需要绑定的Exchange。

    Routing Key

    设置Key值字符串,用于告知Exchange应该将消息投递到哪些Queue中。

    • Direct Exchange和Topic Exchange需要设置Routing Key,Exchange会将消息路由到Routing Key匹配成功的Queue中。如果不设置Routing Key,Exchange会将消息路由到所有与它绑定的Queue中。
    • x-consistent-hash Exchange需要设置Routing Key,Routing Key表示Queue的权重。数值越大,Queue的权重越大,分发消息时接收到的消息越多。
    • Fanout Exchange和Header Exchange无需设置Routing Key,Routing Key对于这两种Exchange不起作用。

  10. 单击“确定”,完成Exchange的绑定。

    在“绑定信息”页签,查看新绑定的Exchange。