本文整理自 翟佳 在2025 GOTC 全球开源技术峰会上的演讲,一起来看 Pulsar 如何赋能多 Agent 协同~
Pulsar 的云原生架构
Pulsar 的架构演进深植于云原生技术的发展脉络。其设计旨在满足现代应用对运营效率的高要求,技术根源可追溯至 20 世纪 70-80 年代持续发展的消息处理技术。
云原生架构的核心目标始终围绕降本增效。这一目标具体体现为三大价值:
对开发人员而言,理想的基础设施应如同水电般简单易用,从而释放开发精力;对业务专家而言,其领域经验能够沉淀至基础设施层,形成可复用的能力;对运维团队而言,目标是从管理上百套独立系统转变为统一运维一套平台,极大降低复杂性。
Pulsar 的设计充分体现了云原生理念。其多租户体系源自雅虎内部统一管理 300+ 业务的经验。跨域高可用特性支持跨集群、跨地域的部署。灵活 API能够适应不同场景需求,无论是高并发还是强一致性。存算分离架构则实现了计算资源的无感扩容和存储节点的故障自动恢复。华为终端云服务的实践案例表明,该架构可支撑数千万用户,集群处理能力达数百万 QPS。
微服务和云原生
在微服务与云原生背景下,消息中间件的作用至关重要。
传统服务间通过 IP/端口直接调用,形成复杂的网状依赖。而微服务架构通过消息队列实现间接通信,服务间仅依赖消息契约而非具体实例地址,生产者与消费者角色分离使职责更清晰。例如,腾讯计费平台在处理游戏装备购买、红包发送等金融业务时,即通过消息队列保障数据一致性。这种模式有效应对了服务数量增长带来的通信复杂度指数级上升、618、双11 等突发流量缓冲,以及系统维护时避免级联影响等核心挑战。
Multi-Agent 架构:
AI Agent 系统的架构演进与微服务思想异曲同工。微软的 AutoGen 采用消息中间层实现 Agent 间通信;谷歌的 A2A 架构通过消息存储维持无状态交互;MCP 框架则引入 message store 组件保障断连后的状态恢复。这些设计的关键技术在于解决 Agent 间状态(state)的持久化问题,并通过消息队列缓冲保障交互的稳定性。典型案例是 OpenAI 采用 Kafka 实现请求优先级调度。
事件驱动的优势
无论是微服务还是 Agent 系统,事件驱动架构都展现出显著优势。解耦设计表现为微服务以 MQ 替代 IP 直连,Agent 系统通过消息总线隔离直接通信。异步处理允许微服务快速响应前端后后台执行,Agent 系统即时响应后由后台协调。王者荣耀等游戏通过 MQ 削峰突发流量即是典型案例。弹性能力包括基于负载的微服务实例或同质 Agent 动态扩展,以及单组件故障隔离的容错机制。MQ 的死信处理与 Agent 的降级策略则构成了重试机制。自治特性允许各组件技术栈(微服务协议/Agent 训练版本)独立演进,组件级升级不影响整体系统。
Pulsar 的特性和优势
弹性 & 可靠性
Pulsar的弹性与可靠性根植于其存算分离架构。
存算分离的架构:
计算层:采用动态负载均衡机制,Topic 分区按需分配到不同 Broker。数据通过条带化写入存储节点,生产者与消费者直接与无状态的计算节点交互。节点故障时可快速切换,保证服务连续性。
存储层:采用对等的多副本无主架构,所有副本地位平等,避免了主从同步延迟。新增存储节点可自动分担压力,分片设计使扩容无需数据搬迁。通常配置 3 副本,即使 2 个节点故障仍可通过剩余副本服务。
灵活扩缩容实例:新节点加入后自动从老节点接管部分流量,最终达到均衡,整个过程无需人工干预。相比 Kafka 等需要数据搬迁的架构,Pulsar 的存算分离能更快响应流量洪峰。
Topic 特性
海量 Topic 支持:支持百万级 Topic 的自动创建与回收,非常适合 AI 对话等临时会话场景,实现了运维简化。
可选持久化:提供持久化 Topic(适用于金融交易等关键数据)和非持久化 Topic(适用于实时通讯,性能更高)双模式。持久化数据的存储成本通常低于数据库。
多消费模式:提供多种订阅模式。Exclusive(独占)和Failover(灾备)模式保证严格顺序消费。Shared(共享)和 Key_Shared(键共享)模式支持动态扩展 Consumer 以应对消息积压,可适配向量计算等生产消费速率不匹配的 AI 场景。
Agent 运行环境
Pulsar 为 AI Agent 提供了天然的运行环境。通过 Pulsar Function 可以提供隔离的沙箱执行环境,支持 Python、Go、Java 等多语言。其事件驱动模型使得每条消息可触发函数计算,结果自动生成下一个事件。内置的状态存储机制为 Agent 提供了比外部隔离方案更轻量、灵活的状态管理方式。
数据湖生态融合
在数据架构层面,Pulsar 实现了与数据湖生态的深度融合。Pulsar 支持双模访问,通过 Connector 模式可实时对接 Apache Hudi、Delta Lake、Iceberg 等数据湖格式;通过 Offload 模式可将历史数据自动卸载为数据湖格式,并保留原始 Schema。这实现了统一存储,单份数据可同时支持通过 Pulsar 的流式访问和通过数据湖的批处理。该架构的前瞻性已获得 VLDB 2023 最佳工业界论文奖的认可。
Apache Pulsar 作为一个高性能、分布式的发布-订阅消息系统,正在全球范围内获得越来越多的关注和应用。如果你对分布式系统、消息队列或流处理感兴趣,欢迎加入我们!
Github:
https://github.com/apache/pulsar
扫码加入 Pulsar 社区交流群
最佳实践
互联网
腾讯BiFang | 腾讯云 | 微信 | 腾讯 | BIGO | 360 | 滴滴 | 腾讯互娱 | 腾讯游戏 | vivo | 科大讯飞 | 新浪微博 | 金山云 | STICORP | 雅虎日本 | Nutanix Beam | 智联招聘 | 达达 | 小红书|华为终端
金融/计费
腾讯计费|中原银行 | 平安证券 | 拉卡拉 | Qraft | 甜橙金融
电商
Flipkart | 谊品生鲜 | Narvar | Iterable
机器学习
腾讯Angel PowerFL | Discord
物联网/芯片制造
应用材料|云兴科技智慧城市 | 科拓停车 | 华为云 | 清华大学能源互联网创新研究院 | 涂鸦智能
通信
江苏移动 | 移动云
教育
网易有道 | 传智教育
推荐阅读
免费可视化集群管控 | 资料合集 | 实现原理 | BookKeeper储存架构解析 | Pulsar运维 | MQ设计精要 | Pulsar vs Kafka | 从RabbitMQ 到 Pulsar | 内存使用原理 | 从Kafka到Pulsar | 跨地域复制 | Spring + Pulsar | Doris + Pulsar | SpringBoot + Pulsar