Skype故障带给我们的经验与教训
FROM:InfoQ在1600 GMT时间12月22日,Skype服务开始无法访问,一开始是一小部分用户无法访问,后来受影响的用户越来越多,最后网络在24小时内干脆就无法访问了。一周后,Skype CIO Lars Rabbe谈到了这背后的原因。
Skype的核心依赖于第三代的P2P网络,它拥有大量的对等节点和超级节点,一个超级节点对应于成百上千个节点。由于Skype并没有中央目录来支持彼此通信的两个或多个节点之间的路由,因此虚拟网络将超级节点作为目录。当某个客户端连接到Skype后,它会将自身注册到一个超级节点上,超级节点会为该客户端分配一个IP地址,,这样想要与其建立连接的其他客户端就能找到它了。当某个用户想要启动IM或是向另一个客户端发起音频/视频会话后就会询问超级节点,然后就会获得目标IP,这样就会建立起这两个客户端之间直接的通信链接。超级节点是Skype网络的重要元素。
Skype还运行着大量的支撑服务器,他们负责发送离线消息。由于突然有大量未发送的消息,因此这些服务器会延迟发送这些消息。Window版本的Skype v5.0.0.152有一个Bug,它会导致应用在接收这些延迟发送的消息时崩溃。最新的Skype v5.0.0.156和Windows下的其他版本以及非Windows系统的所有其他版本则不受该Bug影响,但问题在于有50%的用户在使用这个有Bug的版本,而它正是Skype 5的首个发布版。大约40%的Skype用户都是在线崩溃的,这影响到30%左右的超级节点。
客户端还需要继续运行,重启应用的客户端会导致网络继续搜索仍旧运行着的超级节点,这导致了超级节点的过载。由于Skype在超级节点过载时会启动保护措施,因此这并不会消耗客户端系统过多的资源,超级节点会一个接一个地自动关闭,这会导致整个网络出现故障。
没有超级节点,Skype就将无法运作,因此公司一开始启动了上百个,然后是上千个超级节点,希望能够恢复服务。他们并没有指明使用了哪些系统,或许是他们自己的,也可能是Amazon EC2上的。网络开始基于这些超级节点来构建自身,服务在24小时后恢复了。他们说停止了大多数超级节点,留下了一些来处理各种突发状况,因为圣诞节Skype的使用量会很大。
我们从中学到的经验则是:除非必要,很多用户并不会更新自己的软件。Skype已经有更新的版本了,但如果没有遇到Bug,大多数用户是不会更新的。Skype打算重新检查自动更新过程,或许像Google Chrome那样做:
我们会重新检查向用户提供的“自动”更新过程,这样我们就能让每个人都使用最新版的Skype了。我们相信这些举措会降低这类故障发生的概率。另一个问题是我们应该尽最大努力来保证软件是经过充分测试过的,Skype决定重新检查“测试过程来确定更好的检测手段以避免会影响到系统的Bug出现”。
最后要说的就是Skype服务器支撑网络的能力,比如用于处理离线IM的服务器,Rabbe说他们“会经常性地检查支持Skype用户的核心系统的能力,并继续在这些系统的能力和弹性上投入”。
根据Skype博客发布者Peter Parkes所述,Skype Connect企业版并没有受到此次故障的影响。
查看英文原文:Lessons Learned from Skype’s Outage 也就是用skype 打国际长途还算靠谱。 聊天功能实在太烂 "除非必要,很多用户并不会更新自己的软件。Skype已经有更新的版本了,但如果没有遇到Bug,大多数用户是不会更新的。"
"Window版本的Skype v5.0.0.152有一个Bug,... 最新的Skype v5.0.0.156和Windows下的其他版本以及非Windows系统的所有其他版本则不受该Bug影响"
“有50%的用户在使用这个有Bug的版本,而它正是Skype 5的首个发布版。”
Skype v5.0.0.152的用户都是新安装的?不会吧。是v4.xxx遇到Bug更新到v5.0.0.152的?也不是吧。大多都是因为Skype发布了5才更新的。所以,“很多用户并不会更新自己的软件”是不对的。
这次的主要原因是,Skype推出了一个带有严重Bug的新版本,并成功地吸引了大量用户使用它。 China VoIP decision means Skype now illegal in China
http://english.people.com.cn/90001/90778/90860/7246526.html 非法,:-)
我倒想看看何时能“违法必究” 超级节点给分IP地址?这倒是有点意思...... 原帖由 yuba 于 4-1-2011 15:37 发表 http://www.freeoz.org/ibbs/images/common/back.gif
非法,:-)
我倒想看看何时能“违法必究”
已经究了。。。这里已经不能用了。。。 原帖由 雅瑶冬月 于 4-1-2011 20:46 发表 http://freeoz.org/ibbs/images/common/back.gif
已经究了。。。这里已经不能用了。。。
个别时间个别地区吧 非Windows用户表示毫不知情;-) 非Skype Windows用户表示毫不知情;-) 原帖由 Tux 于 5-1-2011 14:47 发表 http://freeoz.org/ibbs/images/common/back.gif
非Windows用户表示毫不知情;-)
我那天刚好用Windows,但也毫不知情,因为我没有登录Skype
如果那天我用Linux,并且足够幸运可以登录上的话,我一定不会毫不知情,因为相信会有很多我的联系人应该在线但不在线
如此说来,一个毫不知情的非Windows用户那天登没登录、账户上没有有联系人,就很值得玩味了 I'd rather buy a calling card for $18 :( 从我的角度看,这件事的根本原因在于:skype 5.0有一个严重的bug, 一启动就崩溃。
这个bug在英文系统下不会发生,在中文或其它语言系统下直接发生。
另一个问题在于:skype在那天启用了要命的强迫自动更新,强迫用户升级到这个版本。
这个自动升级过程无法阻止,没有任何提示,强行的。
我公司和家里的版本都是4.2, 都是在那天被强迫自动升级,然后英文版的可登录,但中文版的直接崩溃。
第2天上班就全天不能用skype了。
skype太自信了。
[ 本帖最后由 shark2008 于 9-1-2011 11:55 编辑 ]
页:
[1]