当前位置: 首页 > news >正文

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 正在招募相关人才,共同打造下一代数据平台。

http://www.dtcms.com/a/422799.html

相关文章:

  • 漳州做网站配博大钱少awordpress国内网站吗
  • 在用户调研中应用卡尔曼滤波:用动态思维重构认知更新
  • [免费]基于Python的在线音乐网站系统(后端Django)【论文+源码+SQL脚本】
  • 网站建设后期出现的问题手机网站开发前台架构
  • 首饰设计网站大全如何选择昆明网站建设
  • MapDistill:通过相机 - 激光雷达融合模型蒸馏提升高效基于相机的高清地图构建性能
  • 安卓开发---在适配器中使用监听器
  • 【COT】PromptCoT 2.0少样本训练 CoT
  • 鸿蒙应用开发和安卓应用开发的区别
  • UNIX下C语言编程与实践12-lint 工具使用指南:C 语言源代码语法与逻辑错误检查实战
  • UNIX下C语言编程与实践5-C 语言编译器 cc(gcc/xlc)核心参数解析:-I、-L、-D 的使用场景与实例
  • 机器视觉的双相机对位模切应用
  • 高档网站设计wordpress好用的商城主题
  • 植物大战僵尸融合版下载安装教程【PC/安卓/iOS 完整攻略 + 常见问题解决】
  • 厦门做网站价格想学网站建设与设计的书籍
  • 【TCSVT→Neurocomputing→ASOC投稿】记一次旷日持久的投稿经历
  • namespace 扩展
  • C语言——深入解析C语言指针:从基础到实践从入门到精通(一)
  • leetcode430:扁平化多级双向链表
  • 网站项目开发收费标准360网站名片怎么做的
  • 分布式秒杀系统设计方案
  • 分布式短链接系统设计方案
  • 分布式光纤声波振动与AI的深度融合:开启智慧感知新时代
  • 电商网站设计论文新网金商网站
  • [pdf、epub]320道《软件方法》强化自测题业务建模需求分析共279页(202509更新)
  • 赎金信--leetcode
  • Harbor磁盘空间清理指南:如何安全清理半年前的镜像
  • 网站开发项目组织架构电商平台怎么找商家
  • 基于Hadoop的肾脏疾病风险分析系统架构设计精髓
  • 如何优雅的布局,height: 100% 的使用和 flex-grow: 1 的 min-height 陷阱