Topic是云消息队列 RocketMQ 版里对消息的一级归类。云消息队列 RocketMQ 版支持发布和订阅模型,通过Topic完成消息的发布和订阅。消息生产者将消息发送到Topic中,而消息消费者则通过订阅该Topic来消费消息。本文介绍如何在云消息队列 RocketMQ 版控制台上创建、删除、更新和查询Topic。
注意事项
Topic不能跨实例使用,例如在实例A中创建的Topic A不能在实例B中使用。
Topic类型和消息类型必须一致不能混用。例如,您需要创建一个Topic用于收发普通消息,则该Topic的消息类型必须为普通消息类型,不能选择顺序消息、事务消息等,否则会导致运维事件(如节点更换,实例迁移时定时消息丢失)。
计费说明
云消息队列 RocketMQ 版会对已创建的每一个Topic收取Topic资源占用费,即使Topic未使用也会产生费用,建议您及时删除不需要使用的Topic。更多计费信息,请参见消息收发定价详情和企业铂金版计费说明。
Topic命名规范
Topic名称长度限制为3~64个字符,只能包含英文、数字、短划线(-)以及下划线(_)。
如果Topic所在的实例有命名空间,则Topic的名称需要保证实例内唯一,不能和本实例下已有的Topic名称或Group ID重复;跨实例之间可以重名,例如实例A的Topic名称可以和实例B的Topic名称重复,也可以和实例B的Group ID重复。
如果Topic所在的实例无命名空间,则Topic的名称需要保证跨实例和跨地域全局唯一,在全局范围内不能和已有的Topic名称或Group ID重复。
实例是否有命名空间,可以在云消息队列 RocketMQ 版控制台实例详情页面的基础信息区域查看。
创建Topic
登录云消息队列 RocketMQ 版控制台,在左侧导航栏单击实例列表。
在顶部菜单栏选择地域,如华东1(杭州),然后在实例列表中,单击目标实例名称。
在左侧导航栏,单击Topic 管理,然后在页面左上角单击创建 Topic。
在创建 Topic面板中,输入该Topic的名称和描述,选择该Topic的消息类型,然后单击确定。
重要Topic的消息类型不能混用,例如您创建的Topic的消息类型为普通消息,则该Topic只能收发普通消息,不能用来收发顺序消息。更多信息,请参见消息类型列表。
删除Topic
Topic删除后,相关的生产者、消费者将会立即停止服务,Topic元数据和Topic的消息数据也会被同时删除且不可恢复,请您谨慎执行该操作。
在实例列表页面单击目标实例名称,然后在左侧导航栏,单击Topic 管理。
在Topic列表中找到您需要删除的Topic,在其操作列单击更多,然后在弹出的下拉菜单中选择删除。
在弹出的对话框中单击确认。
更新Topic
在实例列表页面单击目标实例名称,然后在左侧导航栏,单击Topic 管理。
在Topic列表中找到您需要更新的Topic,在其操作列单击详情,进入Topic 详情页面。
在基础信息区域中,单击Topic 描述后的编辑,在文本框中输入修改后的Topic描述,并单击确定完成修改。
查询Topic
在实例列表页面单击目标实例名称,然后在左侧导航栏,单击Topic 管理。
在Topic列表中单击您需要查询的Topic的名称或在其操作列单击详情。
相关文档
Topic的相关操作也可以通过调用API完成:
创建Topic:OnsTopicCreate
删除Topic:OnsTopicDelete
查询Topic列表:OnsTopicList
查询Topic消息总量及更新时间OnsTopicStatus
查询Topic订阅关系:OnsTopicSubDetail