Rail那插满五颜六色鲜艳羽毛的帽子现在跌落到了地上。Twitter决定放弃Ruby on Rails,改用Java,这次是包括他们的整个搜索库。早在2008年9月,他们就决定了把消息队列的后端程序从ruby迁移到Scala(一种Java虚拟机上的语言),而现在连同它们的前端也要迁移到Java。
他们开发了一个可扩展的叫做Blender的平台,使用的是依赖Java NIO的服务器(Netty),以此来克服目前的繁重的接入流量,MySQL被换成了Java上的Lucene搜索引擎,做出来的引擎能并行的完成多个后 台任何,相互独立管理,互不依赖。通过这种改造,搜索延迟降低了3倍,每台机器能接受比以前10倍多的请求。
不错,一个很大的成果。这是否意味着Java是一个比Rails更能胜任高扩展性需求的平台?即使真是这样,对于小规模的应用来说,Ruby on Rails的优雅比Java的性能更吸引人。
他们说这次改动使他们能够适应未来几个月搜索功能快速的迭代修改。伴随这个消息的事情还有Twitter扩招了25跟新员工, 这似乎也在表明对于相同的程序,Java比Ruby的可维护性更高——至少是在程序量巨大和团队规模很大的时候。这似乎也能表明跟他们最初时候着眼的问题 相比,他们现在关心的是系统的可维修性设计。但对于小开发团队和小规模程序来说,Ruby on Rails仍然是不二选择。
原文:http://www.aqee.net/2011/04/23/twitter-moves-from-rails-to-java/
【编辑推荐】