周四,许多Facebook用户无法访问该社交网站长达两个半小时,这是该网站四年多来遭遇的最严重宕机,脸书在一篇帖子中说。
这些问题可以追溯到Facebook对其一个系统所做的更改。
当错误检查程序在Facebook系统中发现无效数据时,就会调用这条数据。这段数据本身被解释为无效的,这导致系统试图用同样的数据替换它,因此一个反馈循环开始了。
这个循环导致每秒有数十万个查询被发送到Facebook的数据库集群,使系统不堪重负。
对用户来说,结果是一个“DNS错误”消息,无法访问该网站。
“停止这种反馈循环的方法相当痛苦——我们不得不停止对这个数据库集群的所有流量,这意味着关闭该网站,”Facebook软件工程总监罗伯特·约翰逊在该网站的一篇帖子中写道。“一旦数据库恢复,根本原因得到解决,我们就慢慢允许更多的人回到网站。”
这个问题还没有完全解决。约翰逊表示,Facebook必须关闭自动系统才能让网站恢复运行。但该系统在保护网站方面发挥了不可或缺的作用。
Facebook现在正在探索新的方法来处理这种情况,这样就不会导致另一个反馈循环。
他写道:“我们再次为网站中断道歉,我们希望你们知道,我们非常重视Facebook的性能和可靠性。”
这是Facebook对一些用户关闭的第二天。周三,Facebook指责一家第三方网络提供商让一些人无法访问该网站。