Twitter准备放弃Ruby on Rails
![]()
Twitter 作为2007年最火的 Web 2.0 应用,在吸引了大量用户的同时,性能也越来越受到挑战。特别是最近 Twitter 服务经常的 down 掉,包括前不久一台 DB 被拖垮,已经让 Twitter 工程师考虑放弃 Ruby on Rails 。根据 TechCrunch 的消息,Twitter 有准备使用 PHP 或 Java 来代替,或者继续使用 Ruby 而放弃 Rails 框架。
RoR 在 Web 2.0 网站开发中无往不利,都是凭借它快速有效的开发模式和高效的开发效率,而Twitter 作为目前为止最大的 RoR 应用,可以说已经将其特点发挥的淋漓尽致。Ruby 的创始人 David Heinemeier Hansson 曾经说过,倾向于 把 RoR 面向的主要应用领域局限在 Web2.0 开发方面,因为在这个领域中,Rails 的优点可以被充分的发挥,而缺点将会被巧妙的避开。
这样的做法,是因为 Rails 框架本身的一些限制,包括 Rails 所提供的 ActiveRecord 对于复杂的数据库事务控制还是比较吃力,对于跨数据库的分布式事务支持也相对弱。
而这正是 Twitter 可能的最大问题。目前 Twitter 的 API 流量是 Twitter 站点的十几倍,数据库也许已经成为首要的瓶颈。那么就会考虑到 DRb,让一个库允许你通过 TCP/IP 从远程 Ruby 对象发送和接收消息,但是它会经常抽风,并且没有冗余。
另外提到说继续使用 Ruby 开发而放弃 Rails,要知道 RoR 代码的耦合度本来就很高,并且 Ruby 本身是难以统一编程风格的语言,没有严格的语法限制,这样的分家的做法值得关注。
Tags: Rails, RoR, Ruby, Twitter
这么好的东东,我还没去尝试,快落伍了:)
[Reply]