GitHub的首席安全官和工程部高级副总裁今天分享了关于上周代码托管平台发生的一系列故障的更多细节。
虽然这些事件的根源不尽相同,但从5月9日到5月11日,它们影响了GitHub的大部分主要服务,曾导致大范围的数据库连接和认证失败长达十小时。
上周,GitHub经历了几次可用性事件,既有长时间运行的,也有持续时间较短的。目前这些情况均已经得到缓解,所有系统现在都已经在正常运行。
5月9日,GitHub提供Git数据的内部服务的配置发生了变化,导致8个主要服务中断。
第二次故障发生在5月10日,该故障影响了GitHub应用的认证令牌的发放,造成故障的原因是由于负责管理GitHub应用权限的API的高负荷和低效率实施造成的。
5月10日,为GitHub App认证令牌提供服务的数据库集群出现了GitHub App权限写入延迟7倍的情况(状态为黄色)。
在这次事件的大部分时间里,这些授权令牌请求的失败率为8-15%,在短时间内甚至达到76%的峰值。
5月11日,GitHub出现第三次故障,造成故障的原因是服务于Git数据的数据库集群崩溃并触发了自动故障转移机制,导致读取副本丢失。
事件历史 (GitHub)
GitHub方面表示,目前正在解决Git数据库崩溃的问题,这个问题目前已经引起了不止一次的事件。这项工作已经在进行中,并将优先得到处理。同时,GitHub也在解决关于数据库故障转移的问题,以确保故障转移总是在没有干预的情况下完全恢复。
GitHub将在5月份可用性报告中分享有关这些中断情况的详细信息,以及目前正在采取哪些措施来解决导致这些中断的问题。同时还会公布事件进展细节,以及如何提高GitHub可用性进展的一般更新等问题。
2022年3月,GitHub也曾遭遇过多次中断,当时该公司表示事件原因是由平台主数据库集群的资源争用问题引起的。
GitHub还在2022年2月发生过一次重大故障。当时一度导致GitHub平台在全球范围内关闭,并且一切访问网站的请求均被阻止。