Airbnb内部核心键值存储系统 Mussel 已完成从 v1 到 v2 的重构升级

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗?订阅我们的简报,深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同,从行业内部的深度分析和实用指南中受益。不要错过这个机会,成为AI领域的领跑者。点击订阅,与未来同行! 订阅:https://rengongzhineng.io/

Airbnb 在其最新技术博客中披露,内部核心键值存储系统 Mussel 已完成从 v1 到 v2 的重构升级。这项重大架构调整是为应对新兴需求而进行的,包括实时欺诈检测、个性化推荐、动态定价以及处理大规模数据的能力。

此次发布由工程师 Shravan Gaonkar、Chandramouli Rangarajan 与 Yanhan Zhang 联合撰写,系统性介绍了 Mussel v2 的设计思路、架构优化、迁移过程 及关键经验。

为什么重构 Mussel

原先的 Mussel v1 虽在多年内表现稳定,但随着业务发展,系统暴露出一系列难以扩展的问题:

  • 操作复杂性高:节点扩容和替换需手动编写多步脚本,使用 Chef 管理 EC2 实例。

  • 容量瓶颈与热点问题:静态哈希分片导致部分节点负载不均,出现延迟高峰。

  • 一致性不可调节:v1 的一致性模式过于固定,缺乏灵活控制能力。

  • 资源使用不透明:用户对资源消耗与成本缺乏可视化控制。

Mussel v2 针对上述痛点,以 云原生架构、新型一致性模型与精细化资源治理 为核心,完成整体重构。


Mussel v2 的核心设计与组件

Mussel v2 融合了 NewSQL 后端与 Kubernetes 控制面,并保留对原有接口的兼容性。其关键模块包括:

Dispatcher 调度器
  • 无状态服务,可水平扩展,部署在 Kubernetes 上。

  • 支持 双写与影子读取,用于平滑迁移过程。

  • 处理 API 请求的解析、节流、优先级调整,并集成 Airbnb 的服务网格用于安全与服务发现。

写入模型:Kafka 事件驱动
  • 所有写入操作首先落地 Kafka 以确保持久性。

  • 由 Replayer 和 Write Dispatcher 依序应用到后端数据库。

  • Kafka 同时作为升级、迁移及回滚的核心支撑工具。

读取优化
  • 逻辑表支持点查、范围查询与前缀查询。

  • 延迟控制目标为 p99 < 25ms,特别针对 100TB 级别表进行优化。


核心能力升级

大规模数据批量导入
  • 通过 Airflow 管道调度,将离线数据转换并上传至 S3。

  • 使用 StatefulSets 部署分布式 worker 并行导入,支持 合并(merge)或替换(replace) 模式。

  • 提供重复数据排除、增量合并等优化机制。

数据过期控制(TTL)
  • 新引入的拓扑感知式过期服务,支持并行扫描与删除。

  • 针对写入频繁表采用 最大版本控制,避免读取性能下降。

  • 相较 v1 提升透明度、效率与可扩展性。


迁移过程:蓝绿部署 + 双写架构

遇到的挑战
  • Mussel 涉及 Airbnb 大量在线请求,支撑数千张表,可靠性要求极高。

  • Mussel v1 无 CDC(变更数据捕获)或快照功能,需自研迁移方案。

迁移流程(逐表推进)
  1. 蓝区(Blue):初期所有请求仍走 v1。

  2. 影子期(Shadow):v2 开始读取和写入,但不对外响应。

  3. 反向模式(Reverse):逐步让 v2 响应请求,v1 作为备份通道。

  4. 切换(Cutover):每张表逐一从 v1 完全切换至 v2。

数据迁移流水线
  1. 抽样旧表数据,预估分布。

  2. 在 v2 创建预切分表,降低迁移过程中的热点风险。

  3. Bootstrap 阶段使用 StatefulSets,支持检查点恢复。

  4. 校验 checksum。

  5. 应用 Kafka 中的追赶数据,保持同步。

  6. 启动双写,保持最终一致。


关键经验总结

  • 一致性模型切换需充分准备:从最终一致性迁移到强一致性,可能引发写冲突,需借助写入去重、热点键拦截、懒写修复等机制平衡一致性与成本。

  • 预切分至关重要:准确抽样 + 合理分片是高效导入的前提。

  • 灵活架构设计降低风险:逐表迁移、双写架构与自动回退机制确保了"零数据丢失,零中断"。

  • Kafka 是稳定支撑基础设施:在 p99 延迟和消息持久化上发挥关键作用。


当前能力与未来展望

Mussel v2 能力表现:

  • 支持每秒十万级写入

  • 批量导入支持数十 TB 规模

  • 保持 p99 查询延迟在 25ms 以下

  • 提供每命名空间的陈旧读取(stale read)控制

接下来,Airbnb 将重点推进:

  • 服务质量管理(QoS)体系,由 Dispatcher 统一编排。

  • 批量加载优化,进一步提升数据管道性能。

  • 提升用户体验与平台稳定性


总结

Mussel v2 的重构是 Airbnb 在数据基础设施现代化上的重要里程碑。它将对象存储的弹性、低延迟缓存的响应能力与现代服务网格的可操作性集于一体,极大地简化了产品团队构建高性能数据驱动应用的复杂性

若对大规模分布式系统建设感兴趣,Airbnb 正在招募相关人才,共同打造下一代数据平台。

相关推荐
zzywxc7872 小时前
AI 开发工具全景指南:从编码辅助到模型部署的全流程实践
大数据·人工智能·低代码·机器学习·golang·自动化·ai编程
liliangcsdn2 小时前
mac基于mlx运行轻量级模型gemma-3-270m
人工智能·macos
铮铭3 小时前
【论文阅读】具身人工智能:从大型语言模型到世界模型
论文阅读·人工智能·语言模型
en-route3 小时前
从零开始学神经网络——CNN(卷积神经网络)
人工智能·神经网络·cnn
Niuguangshuo3 小时前
深度学习:池化(Pooling)
人工智能·深度学习
元基时代3 小时前
专业的短视频发布矩阵哪家靠谱
大数据·人工智能·python·矩阵
腾讯数据架构师4 小时前
k8s 兼容摩尔线程
人工智能·云原生·容器·kubernetes·cube-studio
春末的南方城市4 小时前
AI视频生成进入多镜头叙事时代!字节发布 Waver 1.:一句话生成 10 秒 1080p 多风格视频,创作轻松“一键”达!
人工智能·深度学习·机器学习·计算机视觉·aigc
机器之心4 小时前
节前重磅:开源旗舰模型新SOTA,智谱GLM-4.6问世
人工智能·openai