Twitter 从 Rails 迁移到了 Java

2011-04-25 11:01


  Rail 那插满五颜六色鲜艳羽毛的帽子现在跌落到了地上。twitter 决定放弃 Ruby on Rails,改用 Java,这次是包括他们的整个搜索库。早在 2008 年 9 月,他们就决定了把消息队列的后端程序从 ruby 迁移到 Scala(一种 Java 虚拟机上的语言),而现在连同它们的前端也要迁移到 Java。

  他们开发了一个可扩展的叫做 Blender 的平台,使用的是依赖 Java NIO 的服务器(Netty),以此来克服目前的繁重的接入流量,MyQSL 被换成了 Java 上的 Lucene 搜索引擎,做出来的引擎能并行的完成多个后台任务,相互独立管理,互不依赖。通过这种改造,搜索延迟降低了 3 倍,每台机器能接受比以前 10 倍多的请求。



  不错,一个很大的成果。这是否意味着 Java 是一个比 Rails 更能胜任高扩展性需求的平台?即使真是这样,对于小规模的应用来说,Ruby on Rails 的优雅比 Java 的性能更吸引人。

  他们说这次改动使他们能够适应未来几个月搜索功能快速的迭代修改。伴随这个消息的事情还有Twitter 扩招了 25 跟新员工,这似乎也在表明对于相同的程序,Java 比 Ruby 的可维护性更高——至少是在程序量巨大和团队规模很大的时候。这似乎也能表明跟他们最初时候着眼的问题相比,他们现在关心的是系统的可维修性设计。但对于小开发团队和小规模程序来说,Ruby on Rails 仍然是不二选择。

原文:Twitter moves from Rails to Java
译文:http://www.aqee.net/2011/04/23/twitter-moves-from-rails-to-java/


该贴已经同步到 郊寒岛瘦的微博

本文内容由 郊寒岛瘦 提供

 

 已同步至 linux的微博