文档

步骤二:创建资源

更新时间:
一键部署

一个新的应用接入云消息队列 RabbitMQ 版服务端,您需要提前创建云消息队列 RabbitMQ 版的相关资源,包括创建云消息队列 RabbitMQ 版实例、创建Vhost、创建Exchange、创建Queue、绑定Exchange和Queue、创建用户名密码以及获取实例接入点。调用消息收发SDK时,您需要将这些资源信息填写到SDK参数中。

创建实例

实例是一个独立的云消息队列 RabbitMQ 版资源实体,包含Vhost、Exchange、Queue等基本的资源要素。

  1. 登录云消息队列 RabbitMQ 版控制台,然后在左侧导航栏选择实例列表

  2. 在顶部菜单栏选择地域,然后在实例列表页面,单击创建实例

  3. 在购买页完成基本配置并勾选服务协议,然后单击立即购买

  4. 根据提示完成支付。

    实例列表页面的顶部菜单栏,选择地域,您可以看到创建的实例。

    说明
    • 专业版实例和企业版实例购买后,立即进入服务中状态。

    • 铂金版实例购买后,首先进入部署中状态,待集群分配后,再进入服务中状态。

获取实例接入点

在收发消息时,您需要为发布端和订阅端配置该接入点,客户端通过接入点接入云消息队列 RabbitMQ 版实例。

  1. 登录云消息队列 RabbitMQ 版控制台,然后在左侧导航栏选择实例列表

  2. 实例列表页面的顶部菜单栏选择地域,然后在实例列表中,单击目标实例名称。

  3. 实例详情页面的接入点信息页签,将鼠标指针移动到目标类型的接入点,单击该接入点右侧的复制图标,复制该接入点。

    类型

    说明

    示例值

    公网接入点

    公网环境可读写。按量付费实例默认支持,预付费实例需在购买时选择才支持。

    XXX.net.mq.amqp.aliyuncs.com

    VPC接入点

    VPC环境可读写。按量付费实例和预付费实例默认都支持。

    XXX.vpc.mq.amqp.aliyuncs.com

创建Vhost

Vhost是指虚拟主机,用作逻辑隔离,分别管理各自的Exchange、Queue和Binding,使得应用安全地运行在不同的Vhost上,相互之间不会干扰。一个实例下可以有多个Vhost,一个Vhost里面可以有若干个Exchange和Queue。Producer和Consumer连接云消息队列 RabbitMQ 版需要指定一个Vhost。

  1. 登录云消息队列 RabbitMQ 版控制台,然后在左侧导航栏选择实例列表

  2. 实例列表页面的顶部菜单栏选择地域,然后在实例列表中,单击目标实例名称。

  3. 在左侧导航栏,单击Vhost 列表

  4. Vhost 列表页面,单击创建 Vhost

  5. 创建 Vhost面板的Vhost名称文本框,输入Vhost名称,然后单击确定

创建Exchange

Producer将消息发送到Exchange,由Exchange将消息路由到一个或多个Queue中(或者丢弃)。Exchange根据Routing Key和Binding Key将消息路由到Queue。不同类型的Exchange的路由规则不同。更多信息,请参见Exchange

  1. 登录云消息队列 RabbitMQ 版控制台,然后在左侧导航栏选择实例列表

  2. 实例列表页面的顶部菜单栏选择地域,然后在实例列表中,单击目标实例名称。

  3. 在左侧导航栏,单击Exchange 列表

  4. Exchange 列表页面,在当前 Vhost右侧的切换下拉列表中,选择Vhost,然后单击创建 Exchange

  5. 创建 Exchange面板,输入Exchange名称,选择Exchange类型,设置是否为Internal类型,然后单击确定

    参数

    描述

    Exchange 名称

    Exchange名称。以amq.开头的为保留字段,因此不能使用。例如:amq.test。

    类型

    Exchange类型。取值:

    • direct:该类型路由规则会将消息路由到Binding Key与Routing Key完全匹配的Queue中。

    • topic:该类型与direct类型相似。Topic Exchange路由规则没有Direct Exchange那么严格, 支持模糊匹配和多条件匹配,即该类型Exchange使用Routing Key模式匹配和字符串比较的方式将消息路由至绑定的Queue中。

    • fanout:该类型路由规则非常简单,会把所有发送到该Exchange的消息路由到所有与它绑定的Queue中,相当于广播功能。

    • headers:该类型与direct类型相似。Headers Exchange使用Headers属性代替Routing Key进行路由匹配,在绑定Headers Exchange和Queue时,设置绑定属性的键值对;在向Headers Exchange发送消息时,设置消息的Headers属性键值对,使用消息Headers属性键值对和绑定属性键值对比较的方式将消息路由至绑定的Queue。

    • x-jms-topic:适用于通过云消息队列 RabbitMQ 版提供的JMS接口接入云消息队列 RabbitMQ 版的JMS应用,该类型路由规则会将消息路由到Binding Key与Routing Key通配符匹配的Queue中。更多信息,请参见JMS概述

    • x-delayed-message:通过声明该类Exchange,您可以自定义消息的Header属性x-delay来指定消息延时投递的时间段,单位为毫秒。消息将在x-delay中定义的时间段后,根据路由规则被投递到对应的Queue。路由规则取决于x-delayed-type中指定的Exchange路由类型。

    • x-consistent-hash:x-consistent-hash Exchange支持将Routing Key或Header值进行Hash计算,使用一致性哈希算法将消息路由到不同的Queue上。

    x-delayed-type

    当Exchange类型为x-delayed-message时,需要配置此参数,以指定Exchange的路由类型。

    哈希取值

    当Exchange类型为x-consistent-hash时,需要配置此参数,以指定Hash计算的输入值为哪种类型。取值如下:

    • RoutingKey

    • Header 值:使用Header方式作为Hash计算输入值时,您需要定义hash-header参数的取值。

    hash-header

    当Exchange类型为x-consistent-hash哈希取值Header 值时,需要配置此参数,作为指定Hash计算的输入值。

    Internal

    是否为Internal类型,默认值为。取值:

    • :内建类型,用于Exchange和Exchange之间的绑定。

    • :非内建类型,用于Exchange和Queue之间的绑定。

创建Queue

Queue是指队列,云消息队列 RabbitMQ 版的消息都会被投入到一个或多个Queue中。

  1. 登录云消息队列 RabbitMQ 版控制台,然后在左侧导航栏选择实例列表

  2. 实例列表页面的顶部菜单栏选择地域,然后在实例列表中,单击目标实例名称。

  3. 在左侧导航栏,单击Queue 列表

  4. Queue 列表页面,在当前 Vhost右侧的切换下拉列表中,选择Vhost,单击创建 Queue

  5. 创建 Queue面板,在Queue 名称文本框输入Queue的名称,选择是否为Auto Delete类型,单击高级选项,设置Queue的参数,然后单击确定

    参数描述说明
    Queue 名称Queue的名称
    • 只能包含字母、数字、短划线(-)、下划线(_)、半角句号(.)、井号(#)、正斜线(/)、at符号(@)。
    • 长度限制在1~255字符。
    • 创建后无法修改,只能删除重建。
    • 以amq.开头的为保留字段,因此不能使用。例如:amq.test。
    Auto Delete最后一个Consumer取消订阅后,Queue是否自动删除。
    • true:在订阅该Queue消息的最后一个Consumer取消订阅该Queue的消息后,自动删除该Queue。
    • false:在订阅该Queue消息的最后一个Consumer取消订阅该Queue的消息后,不自动删除该Queue。
    高级选项Queue的参数设置,可用于设置死信Exchange、死信Routing Key和消息存活时间。
    • DeadLetterExchange:指定死信消息发送的目标Exchange。
    • DeadLetterRoutingKey:指定死信消息的Routing Key,即死信Exchange会将消息发送至匹配该死信Routing Key的Binding Key所对应的Queue。
    • MessageTTL:消息存活时间,单位毫秒(ms)。超过指定时间消息还未被成功消费则变为死信消息,该消息将会被发送到死信Exchange。更多信息,请参见消息存活时间

创建绑定关系

将Queue和指定的Exchange进行绑定,消息将按照对应的转发规则从Exchange转发到Queue中。

  1. Queue 列表页面,选择指定Queue,在其操作列单击详情

  2. Queue 详情页面单击被绑定信息页签,单击添加被绑定

  3. 添加被绑定面板,选择源Exchange,在Binding Key文本框输入Binding Key,然后单击确定

    说明

    若被绑定的Exchange的类型为x-consistent-hash时,Routing Key表示绑定的Queue的权重,只能设置为整数,取值范围为[1~20]。

创建用户名密码

开源客户端访问云消息队列 RabbitMQ 版服务端时,需要传入用户名和密码进行权限认证,认证通过才允许访问服务端。

  1. 登录云消息队列 RabbitMQ 版控制台,然后在左侧导航栏选择实例列表

  2. 实例列表页面的顶部菜单栏选择地域,然后在实例列表中,单击目标实例名称。

  3. 在左侧导航栏,单击静态用户名密码

  4. 静态用户名密码页面,单击创建用户名密码

  5. 创建用户名密码面板,输入AccessKey IDAccessKey Secret,然后单击确定

    说明

    AccessKey IDAccessKey Secret需要在阿里云RAM控制台获取,具体获取方式,请参见创建AccessKey

    静态用户名密码页面,显示创建的静态用户名与密码,密码处于隐藏状态。用户名密码

  6. 在创建的静态用户名密码的密码列,单击显示密码,可查看用户名的密码。

后续步骤

步骤三:调用SDK收发消息

相关文档

除了控制台,您还可以通过云消息队列 RabbitMQ 版的API创建相关资源。

  • 本页导读 (1)
文档反馈