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仍然是不二选择。
Scala != Java ,还是动态语言。如果是 J2EE ,开发成本可想而知了。况且 Rails 也不只是适用小型项目吧,国内成功案例都不少了,这个地球上又有几个团队能达到 Twitter 的用户量呢?
晕,SCALA是静态语言!
SCALA是静态语言!
多招了25人,怎么说维护量少了呢?大了才需要多招人啊
java的是不是就效率足够了呢?
SCALA是静态语言!
SCALA的确静态语言!
好多别字
谢谢提醒!
MyQSL被换成了Java上的Lucene搜索引擎…扯淡呢吧,不是一样的东西怎么换?好比把你jj割了,给你接一个鸡脖子,能用么?
MySQL和Luncene的区别只是数据的存储方式不一样,是可以互相替代的
文章想说地是不是原本的mysql like查询改为用lucene全文本搜索呢
就是一个jj和鸡脖的讨论而已。。