百万用户,一人一 Topic:百炼资产中心用 RocketMQ LiteTopic 实现隔离与限流

简介: 当业务的并发单元是“用户”时,消息系统的治理单元也应该是“用户”。RocketMQ LiteTopic 把“百万用户 × 各自一条消息流”的业务模型直接变成消息系统的原生原语,整个过程中业务侧没有自建任何路由层与限流层。

作者:张世杰(靖泉)


海量用户,每人一条消息流,随时可能爆发的单用户流量风暴——这是百炼资产中心面对的消息链路。用户在百炼生成的图片、视频默认临时保存,要沉淀为长期资产,每条消息都要可靠处理。百炼资产中心的答案是 RocketMQ LiteTopic(轻量主题):一个用户一个 Topic。在传统 MQ 的经验里这近乎禁忌,而 LiteTopic 让它成为默认做法。

从临时链接到长期资产:资产中心要解决什么

用户在百炼平台调用模型生成图片、视频后,产物存放在 OSS 临时目录,过期即清理,只提供临时下载链接。但用户有两类长期诉求:

  • 持久保存: 生成结果需长期留存为个人数字资产;
  • 素材复用: 已生成的内容和上传的图片,可作为后续再创作的输入素材反复调用,免去重复上传。


资产中心服务因此而生:统一管理用户生成及上传的图片、视频、音频资产,对每一份产物完成安全检测等处理后持久化落库。这条处理链路要求消息可靠消费。

一条天然按用户组织的消息链路

资产中心选择了消息驱动的架构,整条链路分为生产与消费两段:

  • 生产侧: 模型生成图片/视频后写入 OSS 临时目录,随后发送消息——消息体携带资源元数据和 OSS 位置索引,不传文件本身;
  • 消费侧: 资产中心消费消息并依次处理:白名单校验、内容安全检测(违规内容机器审核),最终把资产持久化落库。

这条链路的特征决定了它对消息系统的要求:消息量大、需要可靠消费——而更关键的是,这条消息流天然是按用户组织的。

传统 Topic 接不住“按用户组织”的消息流

每个用户的资产相互独立:要单独做安全审核、单独控节奏,重度用户批量生成大量内容时,也不能拖累其他用户的入库进度。这推出三项治理诉求:

  • 用户级隔离: 单用户堆积、异常不阻塞他人;
  • 用户级限流: 限流阈值按用户单独设置,而非全局一刀切;
  • 用户级挂起: 触发限流时只暂停该用户的消费,而不是全体。


而传统 Topic 的隔离单元是队列而非用户:

  • 所有用户共享同一组队列,单用户风暴下消费线程被他的消息占满,其余用户的资产入库全部排队等待;
  • 只能全局限流,无法区分用户;
  • 消费挂起的粒度是整个消费组——要停一个用户,就得停所有人。

想补齐,就得在 Topic 之上自建用户路由层和用户级限流,等于在 MQ 之上再造一套 MQ。


问题的本质是:业务的并发单元是“用户”,而传统 Topic 的隔离单元是“队列”,两者错位,所有治理都得靠业务代码补齐。

LiteTopic:把“用户”变成消息系统的原生隔离单元

LiteTopic(轻量主题)是 RocketMQ 5.x 引入的轻量级队列形态:单 Broker 支撑百万级队列,运行时按需创建、按 TTL 自动回收,同一消费组下不同实例可订阅不同的队列子集。

它把 “百万用户 × 各自一条消息流” 的业务模型直接变成消息系统的原生原语,上述三项诉求恰好逐一对应:

落到用法上:

  • 发送侧按用户写入对应 LiteTopic,不存在时由 Broker 自动创建,无需预建和维护清单;
  • 消费侧一次通配符订阅覆盖全部用户,新用户接入零改动;
  • 限流侧在消费回调中返回挂起指令,Broker 在指定时长内只停止该 LiteTopic 的投递。


整个过程中,业务侧没有自建任何路由层与限流层。

落地效果

对资产中心而言,价值落在三点:

  • 架构简化: 用户隔离、限流、挂起由消息系统原生提供,业务方零开发成本获得多租户治理能力;
  • 稳定性: 用户间故障域隔离,单个重度用户的流量风暴通过“限流 + 定向挂起”自动降压,不影响整体 SLA;
  • 增长零改造: 用户与资产规模增长,无需预建队列、无需调整订阅,链路随业务自然扩展。

同一个原语,两种用法

此前百炼网关用 LiteTopic 重构了大模型限流(见《限流比降 10 倍:百炼网关如何用 RocketMQ LiteTopic 重构大模型限流》一文),那是把它当作分布式漏桶;资产中心这次则用它做用户级消息治理——同一个原语,两种用法,验证的都是同一件事:当业务的并发单元是“用户”时,消息系统的治理单元也应该是“用户”。


如果你的业务同样是“海量用户 × 轻量消息”的形态,不妨把用户路由和限流层从业务代码里拿掉,交给 RocketMQ LiteTopic。


🔗 加入 RocketMQ for AI 钉钉交流群,交流 LiteTopic 实践经验、获取最新动态:

image.png

钉钉群号:110085036316

📖 点击此处了解 RocketMQ for AI 完整方案。

相关文章
|
5天前
|
人工智能 运维 BI
阿里云千问办公QwenWork深度解析:基于Qwen3.8,六大核心能力重构企业全自动化工作流与计费选型指南
传统AI办公工具大多停留在对话问答、文档摘要、简单文案生成层面,只能完成单点碎片化任务,无法自主拆解复杂业务流程,很难串联多工具、多文档、外部业务系统完成端到端完整工作交付。很多企业在落地AI办公的时候,需要组合多款不同工具,来回切换界面,手动复制粘贴中间结果,智能化改造落地门槛居高不下。千问办公QwenWork是整合多款智能体产品能力打造的一体化企业办公智能体平台,底层基座依托Qwen3.8大模型,打通桌面端Agent、云端Agent、企业协同Agent三种运行形态,不再局限简单问答,接收业务目标之后自主拆解任务步骤,调用各类工具,处理文档、表格、浏览器自动化、数据查询,直接输出可交付的办公
1472 0
|
5天前
|
人工智能 自然语言处理 安全
阿里云AI数智鉴密:AI 生成内容如何拿到一张"防篡改的身份证"
隐形水印 + C2PA签名:让AI生成内容“持证上岗”。
1127 0
|
14天前
|
人工智能 自然语言处理 安全
阿里云千问办公、Qoder Teams、Qoder CN区别与选择指南:模型能力、适用场景与最新活动参考
本文聚焦阿里云2026年推出的三款自研AI办公产品,清晰拆解千问办公、Qoder Teams、Qoder CN的差异化定位与能力边界:千问办公主打职场全场景提效,支持自然语言指令一键完成PPT生成、数据分析等高频办公任务;Qoder Teams面向程序员团队,深度整合AI代码生成、团队协同与企业知识库能力;Qoder CN则专为金融、政务等强合规场景打造,实现数据不出境与VPC私有化部署。文章同步给出分场景选型指南与最新活动定价,帮助不同类型的企业按需组合产品,实现业务岗、研发岗与强合规场景的AI能力全覆盖。
3767 4
阿里云千问办公、Qoder Teams、Qoder CN区别与选择指南:模型能力、适用场景与最新活动参考
|
5天前
|
人工智能 安全 前端开发
刚刚 GPT-6 Astra 发布,全球最强,AGI 时代到来!
OpenAI 正式推出 GPT-6 Astra 模型,带大家看看这次 GPT 有哪些提升,跟 Claude Fable 5.1 有什么差距?AI 编程能力如何?AGI 真的来了么?
630 0
|
2天前
|
SQL 人工智能 前端开发
QoderWake 1.0 正式发布:从桌面里的 Agent,到工作现场的数字员工
QoderWake v1.0正式发布:企业级数字员工团队平台。支持“一句话建岗”,预置10类特训岗位;Waker常驻钉钉/飞书群,@即响应、自动协作、跨任务记忆;具备定时/事件/API多触发方式与统一任务看板;已沉淀27.6万条记忆、12.3万项技能,助力组织实现人机协同增效。
594 0
|
6天前
|
网络协议 Linux iOS开发
【2026实测】Wireshark下载+安装+汉化+使用教程(图文版,巨详细)
Wireshark 是一款免费开源的网络协议分析工具,可实时捕获、解析并可视化数据包,助你诊断网络故障、分析通信协议(如HTTP、DNS、TCP等)。支持Windows/macOS/Linux,含中文界面,新手入门便捷。(239字)

热门文章

最新文章