创建资源

在调用HTTP协议的SDK收发消息前,您需在云消息队列 RocketMQ 版控制台创建相关资源。

前提条件

开通消息队列服务并授权

背景信息

针对TCP和HTTP两种通信协议,云消息队列 RocketMQ 版分别提供了多语言客户端SDK来收发消息。建议您分别为两种协议创建不同类型的Group ID,TCP协议和HTTP协议Group的使用限制说明,请参见Group管理

网络访问限制

在使用云消息队列 RocketMQ 版时,请注意以下网络访问限制:

  • 只有在同一个地域下的同一个实例中的Topic和Group ID才能互通,例如,某Topic创建在华东1(杭州)地域的实例A中,那么该Topic只能被在华东1(杭州)地域的实例A中创建的Group ID对应的生产端和消费端访问。

  • 云消息队列 RocketMQ 版提供HTTP协议接入点和TCP协议接入点,接入点不能混用。例如,您使用的TCP协议SDK,则代码中必须填写TCP协议接入点,不能使用HTTP协议接入点。

  • TCP协议和HTTP协议在各地域均提供公网和内网接入点。生产环境默认推荐使用VPC专有网络走内网访问服务;如果需要跨地域、线下IDC、公网网络访问,且当前无法使用CEN组网,可以使用公网接入点访问服务。公网接入点需要支付额外的公网下行流量费用,具体信息,请参见公网流量定价详情

创建实例

实例是用于云消息队列 RocketMQ 版服务的虚拟机资源,会存储消息主题(Topic)和客户端ID(Group ID)信息。

  1. 登录云消息队列 RocketMQ 版控制台

  2. 在左侧导航栏,单击实例列表

  3. 在顶部菜单栏,选择地域,如华东1(杭州)

  4. 实例列表页面,单击创建实例

  5. 创建 RocketMQ 实例面板,选择实例类型,并输入名称描述,然后单击确定

创建Topic

Topic是云消息队列 RocketMQ 版里对消息的一级归类,例如创建名称为Topic_Trade的Topic来识别交易类消息,消息生产者将消息发送到Topic_Trade,而消息消费者则通过订阅该Topic来获取和消费消息。Topic的使用说明如下:

  • Topic不能跨实例使用,例如在实例A中创建的Topic A不能在实例B中使用。

  • 在同一实例中Topic名称必须唯一。

  • 您可创建不同的Topic来发送不同类型的消息,例如用Topic A发送普通消息,Topic B发送事务消息,Topic C发送定时和延时消息。

  1. 在实例所在页面的左侧导航栏,单击Topic 管理

  2. Topic 管理页面,单击创建 Topic

  3. 创建 Topic面板,输入名称描述,选择该Topic的消息类型普通消息,然后单击确定

    说明

    本文以收发普通消息为例进行说明,因此,您按照本文提供的步骤创建的普通消息的Topic,不能用于收发其他类型的消息。换言之,不同消息类型的Topic不能混用。消息类型的更多信息,请参见消息类型列表

创建Group ID

用于标识同一类生产者实例或者同一类消费者实例。Group ID的使用说明如下:

  • 单实例下最多创建1000个Group,建议您尽量复用或及时删除不需要的Group。若您对Group数量有特殊需求,请联系云消息队列 RocketMQ 版技术支持申请。

  • Group ID不能跨实例使用,例如实例A中创建的Group ID不能在实例B中使用。

  • 云消息队列 RocketMQ 版支持HTTP协议和TCP协议的Group,不同的消费Group ID可以使用不同类型的协议消费消息,建议您分别为两种协议创建对应类型的Group ID。

    • 若多个消费者使用同一个Group ID消费消息,其中部分消费者使用TCP协议,部分消费者使用HTTP协议,可能会导致消费失败、部分消息重复或丢失。

    • 同一Group ID不能平滑地从一个消费协议切换到另一个协议,切换过渡时间大概需要1~2小时。

    • 如果Group ID实际消费使用的协议和控制台上展示的协议不一致,会导致控制台上展示的相关数据不准确,但不会影响实际的消息收发。您可以联系云消息队列 RocketMQ 版技术支持申请将控制台上Group ID的协议类型订正为您实际使用的协议类型。

  • 消费者必须有对应的Group ID,生产者不做强制要求。

  1. 在实例所在页面的左侧导航栏,单击Group 管理

  2. Group 管理页面,选择HTTP 协议 > 创建 Group

  3. 创建可用于 HTTP 协议的 Group面板,输入Group ID描述,然后单击确定

获取接入点

在控制台创建好资源后,您需通过控制台获取实例的接入点。在收发消息时,您需要为生产端和消费端配置该接入点,以接入某个具体实例或地域的服务。

  1. 在实例所在页面的左侧导航栏,单击实例详情

  2. 实例详情页面的HTTP 协议接入点区域可获取实例的HTTP协议接入点。

接入点说明如下:

  • HTTP协议和TCP协议的接入点不可混用。例如,您使用HTTP协议的SDK收发消息,您需要获取HTTP协议的接入点接入云消息队列 RocketMQ 版服务端。

  • TCP协议和HTTP协议在各地域均提供公网和内网接入点。生产环境默认推荐使用VPC专有网络走内网访问服务;如果需要跨地域、线下IDC、公网网络访问,且当前无法使用CEN组网,可以使用公网接入点访问服务。公网接入点需要支付额外的公网下行流量费用,具体信息,请参见公网流量定价详情

  • 您在控制台看到的HTTP协议接入点是某个地域的接入点,跟具体实例无关。您在收发消息时还需另外设置实例ID。

完成以上准备工作后,您就可以运行示例代码,用云消息队列 RocketMQ 版进行消息发送和订阅了。

后续步骤

调用HTTP协议的SDK收发普通消息