【今跃教育】vivo 海量数据场景下的消息系统架构演进
创始人
2025-10-11 07:28:27
0

vivo 移动互联网业务为全球超过 4 亿用户提供应用商店、短视频、广告等服务,其分布式消息中间件平台承担了实时数据接入与分发的关键角色,日均处理数据量达十万亿级别。面对业务规模的持续增长,vivo 在消息系统架构演进中通过引入 Apache Pulsar,有效解决了原有 Kafka 架构在多集群管理、弹性扩缩容和海量分区场景下面临的诸多瓶颈。

业务痛点与挑战

随着 vivo 业务流量的数十倍增长,原有基于 Kafka 的消息系统逐渐显露出架构局限性。Topic 和分区数量的持续增加严重影响了集群性能,大量分区导致磁盘随机读写加剧,违背了 Kafka 依赖顺序读写实现高性能的设计初衷。集群规模扩张后,资源组隔离与集群拆分的运维成本显著上升,且 Kafka 无法实现动态扩缩容,机器资源利用率低。在面对突发流量时,扩容速度缓慢,流量均衡耗时较长,消费端性能过度依赖分区数量,造成元数据急剧膨胀。此外,集群基数增大导致硬件故障频发,且故障直接传导至客户端,缺乏有效的中间容错层。

技术选型

在综合评估集群稳定性、扩展能力和运维成本后,vivo 选择引入 Apache Pulsar 作为新一代消息中间件。Pulsar 的存算分离架构带来显著优势:无状态 Broker 支持快速扩缩容,存储层基于 BookKeeper 实现数据均匀分布和高可用保障。其独有的 Bundle 机制能够以有限的逻辑单元管理海量 Topic,有效避免元数据膨胀问题。Pulsar 支持多种消费模式(Exclusive、Failover、Shared、Key_Shared),消费能力扩展不再完全依赖分区数量,Shared 模式可实现多个消费者并行处理,Key_Shared 模式则在共享消费的同时保证消息顺序性。这些特性使 Pulsar 能够更好地应对 vivo 业务场景中的流量突发、故障恢复和弹性扩展需求。

业务实践与优化

在落地实践中,vivo 重点优化了 Pulsar 的 Bundle 管理机制,通过合理设置 Bundle 数量范围和拆分策略,确保流量在 Broker 间的均衡分布。针对数据管理,团队优化了 Ledger 翻转参数,防止单个 Ledger 过大导致的数据存储不均衡问题。建立了统一的数据保留策略,将 TTL 与 Retention 周期对齐,简化数据过期处理流程。在监控方面,vivo 构建了基于 Prometheus + Kafka + Druid 的指标采集和存储体系,开发了包括 Bundle 分布、读写延迟 P95/P99、网络负载等在内的多维监控指标。

针对实际应用中发现的负载均衡和客户端性能问题,团队进行了系列优化:调整负载均衡参数,将节点流量偏差控制在 20% 以内;通过增加分区数量改善 Bundle 分配均衡性;优化客户端发送参数配置,显著提升发送性能;实施 "能者多劳" 的发送策略,解决单个分区阻塞影响整体发送性能的问题。这些优化措施使得 Pulsar 集群在 vivo 环境中稳定支撑千亿级消息流量,有效应对各类异常场景,为业务提供高可靠、低延迟的消息服务。

滴滴大数据运维实践

滴滴大数据团队于 2021 年 1 月开始调研 Apache Pulsar,同年 8 月正式上线首个 Pulsar 集群,支撑数据开发平台和同步中心的数据通道同步任务。经过两年多的稳定运行,Pulsar 成功替代了原有的 DKafka(基于 Kafka 2.12-0.10.2.0)系统,有效解决了长期困扰团队的运维难题,实现了性能、成本和可靠性的全面提升。

业务痛点与挑战

滴滴大数据原有的 DKafka 系统面临多重运维挑战。首先是磁盘 IO 瓶颈问题,当 Broker 承载成百上千个 Topic 分区时,磁盘写入由顺序变为随机,导致性能急剧下降,生产消费耗时显著增加。其次是集群容量限制,尽管团队曾尝试用 SSD 替代 SATA 盘,但成本高昂且仍存在单盘热点问题,不得不降低副本数和存储周期。此外,系统还存在缓存与 IO 未隔离、单盘单机存储热点、元数据过多导致 Rebalance 压力大、负载均衡复杂以及扩缩容困难等问题。这些痛点使得运维团队需要投入大量人力进行监控和干预,严重影响了集群的稳定性和资源利用率。

技术选型理由

在全面评估后,滴滴大数据团队选择 Apache Pulsar 作为新一代消息系统。Pulsar 的存算分离架构通过 BookKeeper 实现顺序刷盘,彻底解决了随机写入导致的 IO 瓶颈问题;其多级缓存机制(包括 Broker 堆外缓存和 Bookie 读写缓存)有效实现了 IO 隔离,避免了读写相互影响;Bundle 机制将海量分区映射到有限哈希环上,大幅降低了元数据管理和 Rebalance 压力;节点对等和无状态设计使得扩缩容变得简单高效,支持高峰期和故障期间的快速扩容。这些特性使 Pulsar 成为解决滴滴大数据运维痛点的理想选择。

业务实践与优化

在落地实践中,团队重点优化了以下几个方面。硬件选型采用 SATA HDD 盘 + NVME 的异构机型,NVME 作为 journal 和 index 存储介质,在降低成本的同时延长了存储周期并增加了副本数。通过利用 Pulsar 的 Ensemble 机制,实现数据自动均衡分布,集群中所有数据盘的存储容量利用率差异控制在 10% 以内,彻底解决了存储热点问题。运维方面,借助 Bundle 机制实现一键式负载均衡,热点 Broker 上的 bundle 可快速卸载并自动分配到最优节点,大幅提升了运维效率。

在扩缩容方面,Pulsar 展现出显著优势。计算层 Broker 扩容后可通过 bundle 漂移立即分担负载;存储层 Bookie 扩容后无需数据迁移,新数据自动选择低负载节点写入,实现了新老节点的 "双向奔赴"。故障恢复能力也得到极大增强,计算层无状态设计支持快速故障转移,存储层通过 readonly 模式和快速扩容确保服务连续性。这些改进使得滴滴大数据平台能够应对各种突发状况,保障数据通道的稳定运行。

目前,Pulsar 集群已在滴滴大数据平台稳定运行两年多,成功支撑了 Log->ES、BamaiLog->ES、BamaiLog->CK 和 Log->HDFS 等重要数据同步链路。相比原有的 DKafka 系统,Pulsar 在性能、成本和可靠性方面都带来了显著提升,为滴滴大数据业务的发展提供了坚实的技术保障。

相关内容

办理出行同意书公证有哪些步...
办理出行同意书公证,你得知道具体步骤。我帮你理一理。整个过程不复杂...
2025-12-24 15:03:34
沙龙预告 | 这个闭馆日,...
刚刚过去的2025年第十五届全国运动会,让广州老地标镇海楼再次出圈...
2025-12-24 15:02:58
云南优选17个夜间文旅消费...
昆明官渡古镇打造特色夜间经济集聚区。记者刘凯达摄 昆明信息港讯(昆...
2025-12-24 15:02:51
体育+旅游:跨界融合点亮品...
当运动的活力邂逅旅途的精彩,体育旅游正成为大众品质生活的新选择。从...
2025-12-24 15:02:38
外国人来华流量卡推荐,入境...
办卡关注 微 信 公 众 号 :找卡乐园 这里是专为你打造的流量卡...
2025-12-24 15:02:23
到雅加达物流全攻略高效畅通...
这是(18388469090)整理的信息,希望能帮助到大家 前往雅...
2025-12-24 15:02:02
雅阁酒店集团|织锦天山,深...
当国家战略聚焦西部,当“新疆是个好地方”的品牌响彻四海,这片占中国...
2025-12-24 15:01:34

热门资讯

政策托底+需求旺季支撑,煤价回... 来源:中国能源网 大同证券近日发布煤炭行业周报:炼焦煤供需弱平衡,价格稳中有支撑。炼焦煤本周稳中有升...
杭州滨江宝龙城正式易主 潮新闻客户端 记者 马焱 12月23日晚间,宝龙地产控股有限公司发布公告称,宝龙地产已与联商壹号、丽...
崇达技术副总姜曙光拟减持不超0... 瑞财经 钟鸣辰12月23日晚,崇达技术(SZ002815)发布公告,副总经理姜曙光拟减持公司股份不超...
12月24日深港通银行R(48... 证券之星消息,12月24日,深港通银行R(483081)指数报收于12600.13点,跌0.1%,成...
白银LOF斩获3连板!溢价率跃... 财联社12月24日讯(编辑 梓隆),今日(12月24日),ETF、LOF市场活跃度陡增,截至收盘,累...
南京银行“小小银行家”金融课堂... 为普及金融知识、培养青少年财商意识,近日,南京银行联合南京晨报共同开展“小小银行家”主题实践活动。南...
寰行盛世受邀参与STAG基金新... 12月19日下午,STAG基金“身份×资产双重配置”新品发布会圆满落幕。这场汇聚欧洲资产管理专家、新...
ST京蓝:拟收购南非NWV公司... 中证智能财讯 ST京蓝(000711)12月24日公告,为拓展海外业务及经营发展需要,公司拟以100...
多地“十五五”规划里的汽车关键... 汽势Auto-First丨刘天鸣 2025年既是“十四五”规划收官之年,也是“十五五”规划谋篇布局...
血泪教训!2025供应链行业的... 文|红餐网 2025年,供应链各个细分赛道在震荡中再度洗牌。成功者的路径或许相似,但失败的企业却各...