Foursquare解释昨天11小时宕机事件:数据库Shards过载
时间:2010-10-06 来源:cnblogs
昨天我们报导过,Foursquare宕机超9小时,情况还在继续,实际上,服务一共宕机11小时左右,这件事影响很不好,Foursquare知道,所以他们今天在博客上发布了一篇文章解释事故的原因并道歉,并且会防止此类事件再次发生。
事故原因部分非常的技术,但是通俗来说就是这么回事:Foursquare的数据是均匀的分配到不同的数据库“shards”(把它当成数据库的一个分部吧)中,不知道怎么的,昨天早晨,事情开始不均匀起来,其中有一个分部被分配了比其他分部多的数据,他们试着去平衡它们,但是没起作用,所以他们打算新建立一个分部,然后杯具了。
Foursquare称他们不确定是什么原因导致新建一个shard会导致整个网站宕掉—但却发生了。然后他们花了接下来几个小时时间去平衡数据,但是却没有找到一个可以让网站继续运行而能解决这个问题的办法,所以他们只能停掉整个服务,最终,他们重建了全部有问题的shards,这花费了几个小时。
好消息是,没有任何的数据丢失。
往前看的话,这次修复shard事件保证了这个问题不会再发生,他们也在尝试新方法,以保证即使出现问题,也不至于整个服务在修复过程中都不能使用。
很明显,这让我想起了前几天twitter的宕机事件,当然Foursquare还没到那个级别,但是他们肯定会持续增长,所以,很高兴现在他们就能考虑到这方面事情。
整个团队(现在32人)也保证在将来出现问题的时候会更好的沟通。他们因此新建了一个Sataus博客。
【原文:TechCrunch,图片:flickr/soupstance】