在调用HTTP协议的SDK收发消息前,您需在消息队列RocketMQ版控制台创建相关资源。
前提条件
背景信息
针对TCP和HTTP两种通信协议,消息队列RocketMQ版分别提供了多语言客户端SDK来收发消息。建议您分别为两种协议创建不同类型的Group ID,TCP协议和HTTP协议Group的使用限制说明,请参见Group管理。
创建实例
实例是用于消息队列RocketMQ版服务的虚拟机资源,会存储消息主题(Topic)和客户端ID(Group ID)信息。
创建Topic
Topic是消息队列RocketMQ版里对消息的一级归类,例如创建名称为Topic_Trade的Topic来识别交易类消息,消息生产者将消息发送到Topic_Trade,而消息消费者则通过订阅该Topic来获取和消费消息。Topic的使用说明如下:
- Topic不能跨实例使用,例如在实例A中创建的Topic A不能在实例B中使用。
- 在同一实例中Topic名称必须唯一。
- 您可创建不同的Topic来发送不同类型的消息,例如用Topic A发送普通消息,Topic B发送事务消息,Topic C发送定时和延时消息。
创建Group ID
用于标识同一类生产者实例或者同一类消费者实例。Group ID的使用说明如下:
- 单实例下最多创建1000个Group,建议您尽量复用或及时删除不需要的Group。若您对Group数量有特殊需求,请提交工单申请。
- Group ID不能跨实例使用,例如实例A中创建的Group ID不能在实例B中使用。
- 消息队列RocketMQ版支持HTTP协议和TCP协议的Group,不同的消费Group ID可以使用不同类型的协议消费消息,建议您分别为两种协议创建对应类型的Group ID。
- 若多个消费者使用同一个Group ID消费消息,其中部分消费者使用TCP协议,部分消费者使用HTTP协议,可能会导致消费失败、部分消息重复或丢失。
- 同一Group ID不能平滑地从一个消费协议切换到另一个协议,切换过渡时间大概需要1~2小时。
- 如果Group ID实际消费使用的协议和控制台上展示的协议不一致,会导致控制台上展示的相关数据不准确,但不会影响实际的消息收发。您可以提交工单申请将控制台上Group ID的协议类型订正为您实际使用的协议类型。
- 消费者必须有对应的Group ID,生产者不做强制要求。
获取接入点
在控制台创建好资源后,您需通过控制台获取实例的接入点。在收发消息时,您需要为生产端和消费端配置该接入点,以接入某个具体实例或地域的服务。
完成以上准备工作后,您就可以运行示例代码,用消息队列RocketMQ版进行消息发送和订阅了。