【今跃教育】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 在性能、成本和可靠性方面都带来了显著提升,为滴滴大数据业务的发展提供了坚实的技术保障。

相关内容

四川广元:中美学者漫步昭化...
3月25日,30余位中美学者、企业代表走进位于四川省广元市的昭化古...
2026-03-31 10:48:59
原创 ...
明朝,作为最后一个由汉族统治的朝代,自开国皇帝朱元璋起,就带有鲜明...
2026-03-31 10:47:06
原创 ...
从公元1368年,明太祖朱元璋在应天南郊的天坛举行登极大典,正式即...
2026-03-31 10:46:41
原创 ...
杨家将与呼家将的故事,历来在民间传颂,尤其是《呼延庆打擂》一段,俨...
2026-03-31 10:46:14
原创 ...
提起诃额仑,很多人可能对她的名字有些陌生,但提到孝庄太后,却能引起...
2026-03-31 10:45:38
原创 ...
当我们翻开历史的篇章,总会被一个耐人寻味的现象吸引:明朝的皇帝往往...
2026-03-31 10:45:09
白宫:特朗普访华前,将安排...
据凤凰卫视报道,美国白宫3月30日表示,预计总统特朗普5月访华前夕...
2026-03-31 10:44:43
原创 ...
1644年春,北京城外马蹄声震天。 李自成大军从陕西杀来,沿途饥民...
2026-03-31 10:43:44
原创 ...
公元669年,大唐大灾无情、哀鸿遍野。关键是这一年年底,李世民给李...
2026-03-31 10:43:14

热门资讯

原创 游... 这几天,一条消息在国际金融圈里炸了锅。 美国国债总额,正式突破39万亿美元。 很多人可能对这个数字没...
华为2025年营收8809亿元... 华为今日发布2025年年度报告。2025年,华为营收、净利润均保持稳健增长。 2025年营收8809...
“红利+”指数震荡分化,价值E... 3月31日,“红利+”指数震荡分化。截至收盘,中证红利低波动指数上涨0.3%,国证价值100指数下跌...
年入17亿!湖南85后卖蛋白粉... 作者 | 铅笔道 松格 编辑 | 铅笔道 黄小贵 封面图丨西子健康官网 健身朋友喝蛋白粉,喝出一家上...
飞天茅台涨价落地,i茅台153... 红星资本局3月31日消息,今日,飞天茅台涨价落地。红星资本局注意到,i茅台上飞天53%vol 500...
英国债市折射市场对经济增长衰退... 来源:滚动播报 新浪财经3月31日讯,近日,英国国债收益率与布伦特油价走势出现明显分化。截至当地时间...
用二手房换套新房:上海首例“住... 一套二手房,直接卖给政府保障房平台公司,再用这笔钱去买一套新房——这样的交易,正在上海成为现实。 3...
华为发布2025年年度报告:经... 封面新闻记者 孟梅 张越熙 3月31日,华为发布2025年年度报告,报告显示,华为经营结果符合预期,...
两家浙股连续大涨!张雪机车一战... 继3月30日涨停(20%)后 宏昌科技31日早盘大幅高开 这家以家电零部件 为主业的浙江上市公司 近...
AI产业链方向震荡调整,科创创... 3月31日,AI产业链方向震荡调整,硬件板块跌幅居前,截至收盘,上证科创板人工智能指数下跌2.0%,...