从Google线上故障,谈灰度发布的重要性

简介: cascasca

引言

2025 年 6 月 12 日,Google Cloud 经历了一次重大故障,导致 Gmail、YouTube、Google 搜索、Google Cloud API 以及众多依赖其服务的互联网应用出现大规模中断。这次故障从太平洋时间 10:51 开始,直到 18:18 才完全解决,持续了约 7 小时 27 分钟。

根因分析

据 Google Cloud 发布的报告,此次故障产生的根本原因是一个新功能在没有经过充分测试和灰度发布的情况下被直接部署到生产环境,并且处理推送关键配置没有灰度过程。具体来说有以下几个环节:

故障引入:新功能部署

Google Cloud 为 Service Control 系统添加了一个新功能,用于配额策略检查。这个功能在没有经过充分测试和灰度发布的情况下被直接部署到生产环境。

设计缺陷:错误处理不足

新添加的功能缺乏适当的错误处理机制,特别是对于意外的空字段(blank fields)没有进行处理。根据 Reddit 上的信息,代码中存在致命缺陷:无法处理策略数据中的意外空字段。

故障触发:空指针异常

推送新配置,当系统遇到空字段时,代码抛出了空指针异常(null pointer exception),导致 Service Control 实例完全无响应,并进入崩溃循环(crash loop)状态。

连锁反应:全球服务中断

由于推送新配置没有灰度过程,导致配置在全球范围几秒内迅速生效,且 Service Control 是 Google Cloud 的核心组件,负责 API 管理和配额控制,其故障导致了连锁反应,影响了众多依赖 Google Cloud 的服务和应用,造成了全球范围的互联网中断。

相关文章
|
机器学习/深度学习 编解码 人工智能
|
4月前
|
Java Go 开发者
IDEA开发常用的快捷键
IntelliJ IDEA常用快捷键汇总:涵盖代码生成(如main、sout)、编辑(复制、删除、重命名)、导航(跳转、查找)、格式化、代码阅读及版本控制等高频操作,提升开发效率。熟练掌握可显著优化编码体验,是Java开发者必备技能。
456 1
|
4月前
|
Oracle Java 关系型数据库
Java命名规范
Java命名规范涵盖包、类、方法、变量等命名规则。包名全小写,类名首字母大写采用驼峰法,接口常用形容词,抽象类以Abstract/Base开头,异常类以Exception结尾,方法名小写驼峰,常量全大写用下划线分隔,枚举值按常量规范命名,提升代码可读性与一致性。
623 0
|
5月前
|
机器学习/深度学习 人工智能 自然语言处理
构建AI智能体:六十一、信息论完全指南:从基础概念到在大模型中的实际应用
摘要: 信息论是人工智能尤其是大语言模型的核心数学工具。本文系统介绍了八大核心概念: 信息量:衡量事件意外程度,公式为I(x)=-log₂P(x) 信息熵:评估系统不确定性,H(X)=-ΣP(x)log₂P(x) 联合熵/条件熵:分析多变量关系及条件不确定性 互信息:量化变量间共享信息量 KL散度:衡量概率分布差异 交叉熵:模型训练的核心损失函数 在大语言模型中,这些概念被广泛应用于: 训练阶段:交叉熵优化预测,KL散度防止过拟合 推理阶段:温度参数调节生成文本的创造性(高熵增加多样性)
694 2
|
5月前
|
Arthas 运维 监控
|
前端开发 JavaScript 定位技术
一、前端高德地图注册、项目中引入、渲染标记(Marker)and覆盖物(Circle)
文章介绍了如何在前端项目中注册并使用高德地图API,包括注册高德开放平台账号、引入高德地图到项目、以及如何在地图上渲染标记(Marker)和覆盖物(Circle)。
777 2
|
机器学习/深度学习 数据采集 人工智能
基于可图Kolors的皮影戏风格LoRA训练&创作
可图Kolors-LoRA风格故事挑战赛比赛过程心得分享
697 8
基于可图Kolors的皮影戏风格LoRA训练&创作
|
10月前
|
数据采集 缓存 NoSQL
分布式新闻数据采集系统的同步效率优化实战
本文介绍了一个针对高频新闻站点的分布式爬虫系统优化方案。通过引入异步任务机制、本地缓存池、Redis pipeline 批量写入及身份池策略,系统采集效率提升近两倍,数据同步延迟显著降低,实现了分钟级热点追踪能力,为实时舆情监控与分析提供了高效、稳定的数据支持。
427 1
分布式新闻数据采集系统的同步效率优化实战
|
安全 测试技术
Fiddler是什么软件?如何配置使用?
【10月更文挑战第3天】Fiddler是什么软件?如何配置使用?
738 3
|
机器学习/深度学习 人工智能 JSON
知识蒸馏方法探究:Google Distilling Step-by-Step 论文深度分析
大型语言模型(LLM)的发展迅速,从简单对话系统进化到能执行复杂任务的先进模型。然而,这些模型的规模和计算需求呈指数级增长,给学术界和工业界带来了挑战。为解决这一问题,知识蒸馏技术应运而生,旨在将大型模型的知识转移给更小、更易管理的学生模型。Google Research 提出的“Distilling Step-by-Step”方法不仅减小了模型规模,还通过提取推理过程使学生模型在某些任务上超越教师模型。该方法通过多任务学习框架,训练学生模型同时预测标签和生成推理过程,从而实现更高效、更智能的小型化模型。这为资源有限的研究者和开发者提供了新的解决方案,推动了AI技术的普及与应用。
779 19
知识蒸馏方法探究:Google Distilling Step-by-Step 论文深度分析

热门文章

最新文章