二维码
中国国内免费供求贸易网

扫一扫关注

当前位置: 首页 » 资讯 » 渠道商圈 » 创业故事 » 正文

12306抢票插件拖垮GitHub

放大字体  缩小字体 发布日期:2013-01-17 09:15:57    评论:0
导读

  连城404在其微博上发布,12306抢票助手插件12306_ticket_helper因为引用了GitHub上的js文件,洪水般的用户请求拖慢了整个Git

  连城404在其微博上发布,12306抢票助手插件12306_ticket_helper因为引用了GitHub上的js文件,洪水般的用户请求拖慢了整个GitHub,以至于GitHub管理员不得不请求作者不要引用这些文件。

  

 

  微博上的精彩评论:

  范凯robbin:浏览器插件“12306订票助手”未来一两周随着越多人春节刷票,极可能拖垮Github。查看问题详细讨论作者自己描述的原因看下文的引用。代码逻辑很欠考虑,返回403就不应该不停的隔5秒轮询重试了,结果搞成了DDOS。

  @cnsns:是一个订票插件引用了GitHub的文件,而这个插件被金山的猎豹浏览器,和淘宝的某个服务使用,于是GitHub瘦不了了。特别建议点入那个链接,电梯直达下层,很欢。

  Max_HeY:这是在转嫁负载了,Github本身就不是高并发类型的使用需求,被一下猛戳上亿次挂了很正常,不能用这个解释铁道部那个最多值1万块软妹币网站的垃圾。

  J-逍遥游:开源的力量强大,建议发起者采用一个合适的license以便保护原创,吸引更多开发者拓展插件功能,规避法律责任和防止商用。

  叶落孤舟:「我说是抢票插件,果然是,猎豹抢票版。」目前综合多方分析,是因为该12306抢票插件被打包进猎豹浏览器抢票专版中,会去GitHub查询更新信息,由于该版本猎豹带来的访问量巨大,GitHub已经将该插件的访问重定向到作者自己的网站,目前GitHub已经恢复正常。据知情人士说,该服务将迁移到新浪云上。

  ohnhax:GitHub为什么会被一个抢票插件搞挂?第一,该插件用户众多,从原作者透露的信息,至少有10000+以上;其次,猎豹浏览器内置了该插件,并大量分发;再次,可能有大量无良投机分子非法将该插件重新包装在淘宝上销售。最后,最关键的一点是,铁道部太烂导致大家都要用抢票插件。

  Chinainvent:咱们买票,还伤害到国际友人了,对话还算诚恳@Bergwolf:12306躺枪啊,看ticket明明是某chrome/firefox的自动购票脚本开发者干的。GitHub也太不行了吧,会用脚本购票的人相对12306的访问量可以完全无视。

  GitHub上的精彩评论:

  liyinkan:其实我想说,这个插件非常畅销。12306是一个不巧的神话。“天王盖地虎,宝塔镇河妖。”猎豹浏览器也躺枪了~GFW其实是在保护全世界的人民,这是一盘很大的棋!

  Google搜索部门工程师Rui Lopes:记住了同学们,服务器扩展性是多么重要,以及如何把GitHub当CDN用到爆;不知道GitHub有没有自我保护机制,这货看起来蛮容易DDOS的……

  信息安全技术工程师Peck:我们平时的扩展性都是纸上谈兵,.cn的扩展性才是实战。

  下面是作者对此次事故做出的解释:

  因为之前更新检查的js文件我一直放在GitHub上,所以GitHub上始终都是最新的,因此我一直用这里的js来检查更新。之所以这么选择的原因还有一个是:Chrome的安全特性,在HTTPS协议(12306)下,不允许运行从非安全协议(HTTP)下过来的文件,因此我手上没有任何可用的HTTPS服务器,GitHub正好是HTTPS,也就正好符合了这个要求。

  但是GitHub的Raw有个限制(貌似是),具体限制多少不清楚,表现为:当访问稍微频繁点的话,就会返回403 Forbidden错误。因此导致更新推送几乎不可用。于是我没有经过深思熟虑便用了最简单的方式:重试。当加载返回403的时候,便延迟5秒尝试重新加载。

  但是,越是这样执着,GitHub便越人死扣不肯返回正常的文件,直接导致反复重新加载。因此,5秒的周期会导致成为一个类似于DDOS的趋势。我实在无法估计到底有多少用户,因此也无法估计到底会有多少请求发送到GitHub.

  当然,采取这样措施的时候还是有考虑到负载的。之前的更新检测放在查询页面,但是查询页面是个反复刷新或请求的页面,因此我估计这个已经会成为一个攻击的来源,因此将检测更新代码移至最顶层框架里面(也就是根路径/otsweb/或/otsweb/main.jsp),在反复刷票的情况下,这个框架基本上是很少被刷新的。不过很明显我低估了用户数和GitHub的执着度,虽然做了如此的变动,但还是导致GitHub收到影响。

  由此得出的教训是:1.不要低估用户量;2.做事不要太执着,得不得的就非要获得,否则誓不罢休。

  相关阅读:

  12306后台技术框架及表结构被曝光

  程序员不满订票难 自建12306开源项目组

  (责任编辑:leonlee07)

 
(文/小编)
免责声明
本文为小编原创作品,作者: 小编。欢迎转载,转载请注明原文出处:http://news.shangjiaku.cn/show-163233.html 。本文仅代表作者个人观点,本站未对其内容进行核实,请读者仅做参考,如若文中涉及有违公德、触犯法律的内容,一经发现,立即删除,作者需自行承担相应责任。涉及到版权或其他问题,请及时联系我们。
0相关评论
 

冀ICP备10017211号-20

冀ICP备2022001573号-1