2天时间,聊今年最热的 Agent、上下文工程、AI 产品创新等话题。2025 年最后一场~ 了解详情
写点什么

Airbnb Istio 升级 14 次零宕机!Google、Uber、Netflix 都在借鉴

作者:Craig Risi

  • 2025-09-05
    北京
  • 本文字数:1420 字

    阅读完需:约 5 分钟

大小:691.71K时长:03:56
Airbnb Istio 升级 14 次零宕机!Google、Uber、Netflix 都在借鉴

Airbnb engineering 发布了一份详细报告,介绍公司如何在数万 Pod 和数千 VM 上执行 Istio 升级的同时保持高可用,而且没有发生宕机。该公司的服务网格基础设施支持 Kubernetes 和 VM 环境中的工作负载,在峰值时每秒处理数千万次请求。尽管过程复杂,Airbnb 至今已完成了 14 次 Istio 升级。


关键挑战在于协调不同团队所负责的多样化工作负载。为了解决这个问题,Airbnb 设计了一条升级流水线,它能够“保证”零宕机,支持渐进式发布、回退机制,并确保所有工作负载能在固定时间范围内完成更新。


在技术实现上,这一过程通过 Istio 控制平面的双版本部署来完成,并结合金丝雀发布策略,每个版本通过 revision 标签区分(例如 1-24-5、1-25-2)。工作负载通过 mutating webhook 绑定到指定 revision,从而注入相应的 istio-proxy sidecar。升级过程会根据 rollouts.yml 文件中定义的分发规则,有选择地将部分工作负载切换到新版本。


为了避免不同团队手动更新标签,Airbnb 使用了内部的 Krispr 变更框架。在 CI 流程中,Krispr 会根据发布配置将正确的 revision 标签注入到工作负载规范中。它还会在准入时持续迁移旧 Pod,确保在四周内所有工作负载(包括不活跃的)都能顺利完成迁移。


对于 VM 工作负载,Airbnb 借助 mxagent 守护进程,它会轮询各主机的版本标签,并在必要时一次性完成 istio-proxy 及其配置的升级。一个中央控制器(mxrc)负责协调 VM 的升级发布,它会遵循健康检查与升级安全阈值,类似 Kubernetes 的 maxUnavailable 机制。


在 Airbnb 成功完成最近的服务网格升级之外,业内其他公司也采用了各自不同的升级方式:

Netflix 推出了自己的零配置服务网格。它没有依赖重量级的控制平面模型,而是设计了一个能自动管理服务发现、重试和流量路由的网格,不需要手动配置。这样,Netflix 避开了多版本 Istio 升级中的协调挑战,同时仍然获得了服务网格在流量管理和可靠性方面的好处。


作为全球最大的 Kubernetes 部署之一,LinkedIn 在升级核心基础设施(包括 Kafka 和网络层)时,通常会结合使用金丝雀发布和流量镜像。在服务间通信栈方面,LinkedIn 曾经尝试过基于 Envoy 的解决方案,但更多依赖于带有镜像流量的渐进式发布流水线来确保安全性。这种做法在理念上与 Airbnb 的双 Istio 版本策略相似:两者都能在正式切换前,用新版本先行验证流量。


作为 Istio 的创建者之一,Google Cloud 自身为客户率先提供了多版本控制平面,类似 Airbnb 的实现。GKE 现在支持运维人员同时运行多个 Istio 版本,从而让发布与回退更为简便。Google 还在推动 Ambient Mode,这种模式用轻量级数据平面代理替代 sidecar,大幅减少升级影响范围。Airbnb 已经表示对 Ambient Mode 感兴趣,表明其方向与 Google 的下一代网格演进保持一致。


Uber 运行着一个基于 Envoy 的内部网格框架,并与其定制的服务发现系统深度集成。他们的升级策略通常是按集群逐步部署,而不是通过精细的版本绑定。Uber 还投入大量资源开发工具,用于在升级期间实现自动回滚并执行 SLA 监控,在一定程度上,可以看作是 Airbnb 用于 VM 的 mxagent + mxrc 机制的类似做法。


这些对比反映了一个更广泛的行业趋势:企业不断投入更先进的发布框架或服务网格创新,以平衡复杂性、可靠性与运维可控性。


展望未来,Airbnb 打算尝试 Istio 的 Ambient Mode,以实现更轻量的网格架构,同时通过拆分网格来减少风险范围并提高隔离性。


原文链接:

https://www.infoq.com/news/2025/08/airbnb-istio-upgrade/

2025-09-05 10:108345

评论

发布
暂无评论

华为云Flexus X实例:一键助力中小企业,快速部署个性化网站!

YG科技

AI 驱动研发模式升级,蓝凌软件探索效率提升之道

阿里云云效

阿里云 云原生 通义灵码

云服务器Flexus X实例|Ubuntu+docker部署.NET项目

YG科技

2025加密风云:行业变革与未来趋势全景透视

chainwiseweb3

加密货币 crypto dapp开发 区块链开发DAPP开发 链游开发公链开发

鸿蒙原生页面高性能解决方案上线OpenHarmony社区 助力打造高性能原生应用

HarmonyOS开发者

HarmonyOS HarmonyOS NEXT

通义灵码入选南方日报 2024 数字化年度标杆

阿里云云效

阿里云 云原生 通义灵码

探秘低代码,JNPF悄然助力

伤感汤姆布利柏

深入解析华为云X实例保障云上业务安全的关键策略

YG科技

华为Flexus云服务器快速上手实例安装“运维搭子“

YG科技

工欲善其事必先利其器:华为云Flexus X实例 一键部署宝塔面板

YG科技

AI 驱动研发模式升级,蓝凌软件探索效率提升之道

阿里巴巴云原生

阿里云 云原生 通义灵码

苹果鼠标有望加入 AI 语音控制功能;Accent Oracl :准确识别你口音的 AI 丨 RTE 开发者日报

声网

华为云Flexus X实例docker部署Rocket.Chat构建属于自己的团队通讯协作平台

YG科技

通义灵码入选南方日报 2024 数字化年度标杆

阿里巴巴云原生

阿里云 云原生 通义灵码

“越用越上瘾”,中华财险 60% 研发人员用通义灵码提效

阿里巴巴云原生

阿里云 云原生 通义灵码

华为云Flexus云服务器X实例之openEuler系统下部署WordPress网站

YG科技

FORCE 大会开发者论坛演讲实录|吴一帆:边缘智能在 Agent 上的探索与实践

火山引擎边缘云

智能IoT边缘服务 AI 大底座 大模型、 边缘智能

拿了一个奖:年度高价值技术团队

阿里云云效

阿里云 云原生 通义灵码

华为云Flexus云服务器X实例之openEuler系统下部署emlog轻量级博客平台

YG科技

华为云Flexus云服务器X实例部署Trilium Notes知识库工具

YG科技

华为云Flexus X实例docker部署ERPnext构建属于自己的企业资源规划系统

YG科技

利用华为云Flexus X实例解决家里公网80和443端口不开放问题

YG科技

使用Flexus云服务器X实例部署Kubernetes图形化管理平台

YG科技

华为Flexus云服务器X实例实测-零信任访问方案Next Terminal

YG科技

基于Flexus云服务器X实例的应用场景-拥有一款自己的ssl监控工具

YG科技

华为云Flexus X实例评测使用体验——Anaconda环境安装

YG科技

docker 部署kafka及ui搭建

YG科技

风起云涌,跌宕起伏:盘点 2024 年以太坊变迁与历程

TechubNews

“越用越上瘾”,中华财险 60% 研发人员用通义灵码提效

阿里云云效

阿里云 云原生 通义灵码

Airbnb Istio 升级 14 次零宕机!Google、Uber、Netflix 都在借鉴_后端_InfoQ精选文章