由于谷歌云平台出现了问题,昨天多个热门在线服务遇到了停机或响应缓慢的现象。经谷歌确认,它的许多工具出现了问题,而Discord、Spotify和Snapchat等知名网站和服务依赖这些工具才能正常运行。
谷歌云平台的状态页面上的一则通告声称:“我们正在调查谷歌云全球负载均衡系统(Global Loadbalancers)的问题,该系统为许多服务返回502出错消息,包括AppEngine、Stackdriver和Dialogflow等服务,此外客户全球负载均衡系统也出了问题。”
一些受到影响的第三方服务包括下列:
- Snapchat
- Pokémon Go
- Faceit
- Discord
- Spotify
今日谷歌云对外公布了调查结果,根本原因如下:
谷歌的全球负载均衡系统基于谷歌前端服务(GFE)的双层架构。GFE的第一层尽量靠近用户来响应请求,以便在建立连接的过程中为用户最大限度地提高性能。这些GFE将请求路由到GFE的第二层,而这第二层的位置靠近请求所使用的服务。这种类型的架构让客户得以在世界上任何地方都拥有低延迟连接,同时又可以充分利用谷歌的全球网络为后端处理请求,无论客户在哪个地区。
GFE开发团队当时正在为GFE添加一些功能,以提高安全性和性能。这些功能被添加到了第二层GFE代码库,但尚未投入使用。其中一个功能含有一个会导致GFE重启的错误(bug);不过无论在测试阶段,还是在初始部署阶段,工作人员都没有发现这个错误。事件开始时,生产环境的一个配置变更间歇性地触发了该错误,结果导致受影响的GFE一再重启。由于重启不是瞬时的,可用的第二层GFE容量因此减少。虽然一些请求得到了正确响应,但GFE重新上线时,其他请求却由于容量暂时不足而被中断(导致连接重置)或被拒绝。
与 6 月 27 日阿里云故障,如出一辙,云平台都遇同一个bug?