【外刊IT评论网】从Ruby迁移到Java上后,Twitter没有在美国总统竞选期间宕机

标签: Rails Ruby Java评论 | 发表时间:2012-11-19 00:09 | 作者:Aqee
出处:http://www.aqee.net

周二晚上,在美国2012年总统大选揭晓的时刻,微博网站Twitter遭遇了有史以来最大的访问冲击,服务的负载量陡增,但却没让用户感到丝毫的反应迟钝——一些Twitter的开发人员把这归功于公司把后端软件从Ruby迁移到Java的正确决策。

根据Twitter公司负责架构的副总工程师Mazen Rawashdeh在 博客上透露的信息,周二在太平洋时间的晚上8:11分到9:11分期间,Twitter用户平均每秒钟发布9965条信息。

Rawashdeh写到,在8:20分里的有一个一秒里,Twitter用户共写出了15107条新微博,在访问量最顶峰的那一分钟里,人们共制造了874560条信息。

这样的数量对于Twitter来说是很不寻常的,Rawashdeh说,这表明人们对Twitter服务使用上了一个新台阶。而在过去,在一些特殊的日子里,Twitter曾经经历过短暂的服务停顿,比如平安夜或运动的闭幕式,而像这次这样长时间持续的高访问量的状况,还是头一遭。这也是Twitter网站开创以来在竞选期间遇到的最大的一次访问冲击。

在过去,Twitter用户一般都会知道,在这样大的负载压力下,Twitter服务通常会出问题。在Twitter早年,服务宕机如此常见,以至于网站有创意的“休克大鲸鱼”的报错界面成了Web2.0大众的文化标识。

但是,周二晚上由于竞选而带来的访问量冲击却一点没有撼动它,Rawashdeh把这归功于Twitter仍在进行的把后端服务从Ruby和Ruby on Rails框架迁移到基于Java虚拟机(JVM)的新技术架构的工作。

twitter fail_whale

当Twitter运行在Ruby上时,这休克大鲸鱼会经常的出现在你面前,但使用Java后,不多见了。

当Twitter运行在Ruby上时,这休克大鲸鱼会经常的出现在你面前,但使用Java后,不多见了。

Twitter首次 撤离Ruby起于2008年,引用前Twitter开发者Alex Payne的话,当时公司的基于Ruby的消息队列系统(mq)”摔了个跟头”。

“Ruby擅长于做很多事情,”当时Payne说,“但对于长时间的处理过程,尤其是需要大量内存的操作,并不是很在行。”

Twitter对于此种情况的解决方案是,把部分的Ruby程序移植到基于JVM的架构上。起初,公司的开发团队拒绝Java而偏爱Scala——另一种JVM上的编程语言,混合有面向对象和面向过程等多种语言特征。如今,Twitter里程序是Scala程序和普通Java程序的复合体。

但有一部分Twitter服务仍然运行于Ruby之上,但根据Rawashdeh的说法,对Ruby的使用会逐渐减少。特别的他提到,Twitter系统正在进行重新配置,这样一来,来自移动设备的访问再也不会接触到任何的基于Ruby的程序。

而Twitter中使用的Ruby程序是部署在一个定制的, 高度优化过得Ruby runtime上的,专门针对执行长处理操作而进行更高效管理内存的优化。

对那些钟爱Ruby的语法、Ruby的快速开发效率、以及所有这种语言的编程理念的狂热粉丝来说、这真不是一个受欢迎的消息。他们认为跟其它语言比起来性能问题并不重要,Ruby在性能上的劣势,并不能掩盖这种语言优雅的语法、高效的生产率、以及它的所有编程哲理上的光芒。

但对于Twitter来说,结果才是重要的。“底线:无论人们何时、何地、何种方式访问Twitter,我们都要保持它24/7小时的可访问,在世界任何一个角落。”Rawashdeh写到,“我们为这个目标奋斗不止。”

他们干的不错。根据这汹涌的跟竞选相关的评论来看,在奥巴马做美国总统的第二届任期里,Twitter的平均访问量将会继续攀升。


本文来自 外刊IT评论网( www.aqee.net),原始地址: 从Ruby迁移到Java上后,Twitter没有在美国总统竞选期间宕机


相关 [it ruby java] 推荐:

【外刊IT评论网】从Ruby迁移到Java上后,Twitter没有在美国总统竞选期间宕机

- - 外刊IT评论网
周二晚上,在美国2012年总统大选揭晓的时刻,微博网站Twitter遭遇了有史以来最大的访问冲击,服务的负载量陡增,但却没让用户感到丝毫的反应迟钝——一些Twitter的开发人员把这归功于公司把后端软件从Ruby迁移到Java的正确决策. 根据Twitter公司负责架构的副总工程师Mazen Rawashdeh在 博客上透露的信息,周二在太平洋时间的晚上8:11分到9:11分期间,Twitter用户平均每秒钟发布9965条信息.

了解Ruby Gems

- Jacky - Reborn
所谓RubyGem,就是一个个软件包,通常被简称为“gem”. 通常一个Gem里包含一个Ruby应用程序或者一个Ruby程序库. 而RubyGems软件本身允许用户在自己的系统中轻松地下载、安装、操作Gems. 以下两个网址无论如何都应该放到自己的收藏夹里:. 最著名的Gem之一,当然是Rails——当我们安装Rails的时候,使用的命令行是:.

开始Ruby

- TheLover_Z - 博客园-首页原创精华区
我的上一篇为什么要学动态语言和大家分享了一些心得,如果有人因此想试试动态语言,哪怕是一点点,我也很高兴,毕竟自己写的东西还有点意义. 俗话说,万事开头难,但是开始用动态语言一点也不难,还是以ruby为例. 1.首先来看看这个网站, http://tryruby.org/. 顾名思义,这个网站的目的就是让大家试试Ruby,我觉得做的比较好的就是它有一步步的教程,只要照着它的提示一步步往下,就能领略Ruby的魅力.

Ruby On Rails 4 hello world,Ruby On Rails上手

- - CSDN博客Web前端推荐文章
有机会再试一试Rails了,只是原来接触的是2,现在已然变成了4,似乎现在的安装比原来会快些. 似乎这就是当前的最新版本. 似乎这就是诸如Django、Rails这类对于轻量级网站的数据库要求. 其他可以看情况安装,如openSUSE. 可以直接用rails生成. 这样的话打开  http://localhost:3000 就可以看到,Rails的欢迎界面Welcome aboard,有点类似于Django-CMS的小马哥~~.

安装rails(ruby on rails)

- - BlogJava_首页
  记得两年前使用ror做网站,自动生成功能记忆犹新,只是当时网络知识实在缺乏,体会不到其中的乐趣. 现在了解的很多了,书也有两本,一直想重新体验最新版做个网站. 安装这个过程实在有点坑爹,查找网上若干ror的书包括2012年版的书,按照上面的步骤都没法安装完成,搞得我一会在linux下试验,一会在windows下试验,都没成功,只好放下.

Ruby视频资料清单

- Shu. Wang - 欧阳的技术笔记
斯坦福Ruby与Rails进行Web开发的开放课程. 通俗易懂,不过其中课程使用的Rails版本是2.3. 同时,本课程配合斯坦福系列开发课程,是非常好的自学材料. lynda公司出品的rails3基础教程. 绝对通俗易懂,视频拆分方式很适合等人时间阅读. 并不支持Rails3.1,是Rails3.0.

我的PHP,Python和Ruby之路

- heely - robbin的自言自语
因为看到一篇讨论PHP,Python和Ruby的编程语言讨论贴,就说说我的PHP,Python和Ruby之路吧:. 我2000-2001年用PHP用了两年,那还是第一次互联网泡沫时期,到2001年后期,Servlet/JSP流行,然后我就发现:你说用PHP写的东西,都会被人鄙视. 当时我们其实也用Java了,只不过用Java写后端的消息队列.

关于Ruby 2.0: 我们的计划

- Fred - LetRails
这是Matz在去年10月份做的一个关于Ruby 2.0的主题演讲,正如他所说,Ruby 2.0在特性方面只是向前迈进了一小步,更多的改变将发生在实现层面. Ruby 2.0的新特性包括:. 1.step(a, b) do |i| p i end # 是从a到b,还是从b到a. 减少monkey patch对系统可能造成的负面影响.

Ruby世界:汉字转换成拼音

- 董玉伟 - 道喜技术日记 .^. 天天红玉世界

QQ账号登陆的Ruby实现

- RobinWu - 致力于ROR走入企业开发
腾讯公司最近开放了QQ登陆,这对广大站长是个好消息,从此实现QQ账号登陆您的网站不再是梦想. 但是遍寻腾讯的SDK文档,并不见Ruby的实现,这对Ruby爱好者可不是个好消息. 经过好几天的摸索,我终于成功实现了QQ登陆了. 其中,QQ_KEY和QQ_SECRET换上你们自己的. #用户点击授权后,调用回调方法.