欢迎来到kaffeel的博客

点滴积累,快乐分享-kaffeel.org
  首页  :: 新随笔  :: 订阅 订阅  :: 管理

12306为何拖垮了GitHub?

Posted on 2013-01-19 07:29  kaffeel  阅读(576)  评论(0编辑  收藏  举报

全球最大的社交编程及代码托管网站GitHub,在1月15日晚间突然遭遇疑似DDOS攻击,访问大幅减慢。管理员通过日志查询,发现洪水般的访问竟来自中国的12306抢票插件。

  “12306订票助手”的开发者iccfish(木鱼)在GitHub上解释:他引用了托管在Github上的Javascript代码,不同浏览器又使用了该插件,导致大量请求涌向Github,最终拖慢了服务器。

  这里不妨说说具体原因,供开发者参考:GitHub有个未知安全检测,当访问比较频繁的时候,会直接返回403错误。作者就加了一条规则:如果返回的是403,就每5秒重试一次,并且是永久重试。结果GitHub认为用户访问更频繁了,于是一直返回403,最后成了死循环,再加上作者显然低估了抢票插件的用户数……就正好构成了DDOS(Distributed Denial of Service,分布式拒绝服务)的定义。

  作者最终决定,15日晚间将服务迁移到新浪云计算SAE平台上。目前GitHub已经恢复。SAE工作人员已与作者取得联系,并给出了优化建议,截至目前运行正常。

  这个故事提醒我们:永远不要低估“春运”这款产品的用户数,除了国产奇葩12306,海外大神GitHub也能被拖垮。有人调侃,这只是中国网民帮GitHub做的一次压力测试。



文章来源:http://kaffeel.org/20130119/12306%e4%b8%ba%e4%bd%95%e6%8b%96%e5%9e%ae%e4%ba%86github%ef%bc%9f/