全部产品
Search
文档中心

云消息队列 RocketMQ 版:Topic管理

更新时间:Jul 09, 2026

Topic是云消息队列 RocketMQ 版对消息的一级归类。云消息队列 RocketMQ 版支持发布和订阅模型,通过Topic完成消息的发布和订阅。消息生产者将消息发送到Topic中,而消息消费者则通过订阅该Topic来消费消息。本文介绍如何在云消息队列 RocketMQ 版控制台上创建、删除、更新和查询Topic。

注意事项

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

  • Topic类型和消息类型必须一致不能混用。例如,您需要创建一个Topic用于收发普通消息,则该Topic的消息类型必须为普通消息类型,不能选择顺序消息、事务消息等,否则会导致运维事件(如节点更换,实例迁移时定时消息丢失)。

  • RocketMQ 5.x 版本中,Topic 的队列数(Queue)由系统自动分配,不支持自定义修改,目前也无法通过控制台或 API 直接查看具体队列数值。

  • 云消息队列 RocketMQ 版不支持直接创建全局顺序 Topic,也不提供特殊申请通道。如需实现全局顺序效果,建议创建分区顺序 Topic,并在发送消息时为所有消息设置相同的 Sharding Key(如固定值),使消息均路由至同一分区。

  • 云消息队列 RocketMQ 5.x 版出于资源管控和稳定性考虑,不支持自动创建 Topic(包括死信 Topic)。如需使用死信 Topic,需通过控制台或调用 API 显式手动创建,这与开源 RocketMQ 版本的行为有所不同。

计费说明

云消息队列 RocketMQ 版不同的计费模式,Topic的计费方式也不相同。

  • 包年包月、按量计费实例

    Topic数量超过实例免费配额的部分,会产生Topic费用。若未超出免费配额,则不产生费用。具体的计费规则,请参见Topic费用

  • Serverless实例

    按照Topic数量进行计费。具体的计费规则,请参见Serverless实例Topic费用

创建Topic

  1. 登录云消息队列 RocketMQ 版控制台,在左侧导航栏单击实例列表

  2. 在顶部菜单栏选择地域,如华东1(杭州),然后在实例列表中,单击目标实例名称。

  3. 在左侧导航栏,单击Topic 管理

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

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

    消息类型可选择普通消息顺序消息定时/延时消息事务消息。名称长度为 1~60 个字符,只能包含大小写英文、数字、短横线(-)和下划线(_)。

查看Topic列表

  1. 登录云消息队列 RocketMQ 版控制台,在左侧导航栏单击实例列表

  2. 在顶部菜单栏选择地域,如华东1(杭州),然后在实例列表中,单击目标实例名称。

  3. 在左侧导航栏,单击Topic 管理

  4. Topic 管理页面,可以查看当前实例的所有Topic。

查询Topic详情

  1. Topic 管理页面,找到目标Topic,在其操作列单击详情

  2. Topic 详情页面,可以查询Topic的详细信息。

编辑Topic

  1. Topic 管理页面,找到目标Topic,在其操作列单击详情

  2. Topic 详情页面单击基本信息页签,然后在基础信息区域单击编辑

  3. 更新 Topic面板中输入修改后的Topic描述,并单击确定完成修改。

删除Topic

警告
  • Topic删除后,相关的生产者、消费者将会立即停止服务,Topic元数据和Topic的消息数据也会被同时删除且不可恢复,请您谨慎执行该操作。

  • 若需要再次创建同名Topic,需要等待5分钟。

  1. Topic 管理页面,找到目标Topic,在其操作列单击详情

  2. Topic 详情页面单击基本信息页签,然后在基础信息区域单击删除 Topic

  3. 提示对话框,单击确认

快速体验

云消息队列 RocketMQ 版支持在控制快速体验普通消息的发送。其他类型消息的收发可通过SDK进行,具体操作,请参见SDK参考概述

  1. Topic 管理页面,找到消息类型普通消息的目标Topic,在其操作列单击详情

  2. Topic 详情页面,单击快速体验

  3. 快速体验的消息生产和消费面板,按需执行相应操作:

    • 控制台

      输入消息内容消息 Key消息 Tag,然后单击确定

    • SDK

      根据不同的SDK,查看对应的代码示例,并根据说明完成消息的发送与接收。

查看仪表盘

仪表盘主要展示Topic的生产相关指标以及生产者客户端相关指标。仪表盘指标详情,请参见仪表盘

  1. Topic 管理页面,找到目标Topic,在其操作列单击详情

  2. Topic 详情页面,单击仪表盘页签。

更多操作

Topic导入和导出,请参见Topic导入/导出

常见问题

Q:使用阿里云 CLI 创建 Topic 时报 InternalError 或提示 MessageType 缺失怎么办?

在使用阿里云 CLI 创建 Topic 时,MessageType 参数为必填项且无默认值,不可省略。必须显式指定消息类型(如 NORMALFIFODELAY 等),否则会导致创建失败或报 InternalError 错误。请检查 CLI 命令中是否包含 --MessageType 参数,并确保指定了正确的消息类型值。

Q:调用 OnsTopicStatus 接口查询 Topic 时返回 BIZ_RESOURCE_NOT_EXISTS 报错怎么办?

该报错表示传入的实例 ID 下不存在目标 Topic。请按以下步骤排查:

  1. 核对调用接口时使用的实例 ID 和 Topic 名称是否正确。

  2. 确认目标 Topic 已在指定实例中创建并处于正常状态。

  3. 注意 Topic 不能跨实例使用,请确保查询所用的实例 ID 与创建 Topic 时使用的实例 ID 一致。

Q:如何查询 RocketMQ Topic 被删除的操作记录及操作者?

可通过阿里云操作审计(ActionTrail)控制台查询 Topic 删除记录:

  1. 登录操作审计(ActionTrail)控制台。

  2. 在事件查询页面,搜索事件名称 OnsTopicDelete(通过 API 删除)或 ConsoleTopicDelete(通过控制台删除),并筛选对应地域。

  3. 查看操作记录及操作者账号信息。

说明

操作审计日志最长保留 90 天,超出该期限的操作记录无法查询。

Q:同一 FIFO 主题在多个项目中存在生产者,导致消息类型不匹配报错怎么办?

该错误与多项目共存无关,根本原因是 Topic 配置的消息类型为 FIFO(顺序消息),但客户端发送时使用了普通消息(NORMAL)的接口或属性,导致消息类型不一致。请按以下步骤排查:

  1. 检查代码中消息的定义,确认使用了 FIFO 消息专用的发送接口(而非普通消息接口)。

  2. 确认消息属性符合 FIFO 要求,例如正确设置了消息分组(MessageGroup)。

  3. 确保所有生产者代码中消息的发送方式与 Topic 配置的消息类型(FIFO)保持一致。

相关文档

Topic的相关操作也可以通过调用API完成: