Twitter從Rails遷移到了Java
Rail那插滿五顏六色鮮艷羽毛的帽子現(xiàn)在跌落到了地上。Twitter決定放棄Ruby on Rails,改用Java,這次是包括他們的整個搜索庫。早在2008年9月,他們就決定了把消息隊列的后端程序從ruby遷移到Scala(一種Java虛擬機上的語言),而現(xiàn)在連同它們的前端也要遷移到Java。
他們開發(fā)了一個可擴展的叫做Blender的平臺,使用的是依賴Java NIO的服務器(Netty),以此來克服目前的繁重的接入流量,MySQL被換成了Java上的Lucene搜索引擎,做出來的引擎能并行的完成多個后 臺任何,相互獨立管理,互不依賴。通過這種改造,搜索延遲降低了3倍,每臺機器能接受比以前10倍多的請求。
不錯,一個很大的成果。這是否意味著Java是一個比Rails更能勝任高擴展性需求的平臺?即使真是這樣,對于小規(guī)模的應用來說,Ruby on Rails的優(yōu)雅比Java的性能更吸引人。
他們說這次改動使他們能夠適應未來幾個月搜索功能快速的迭代修改。伴隨這個消息的事情還有Twitter擴招了25跟新員工, 這似乎也在表明對于相同的程序,Java比Ruby的可維護性更高——至少是在程序量巨大和團隊規(guī)模很大的時候。這似乎也能表明跟他們最初時候著眼的問題 相比,他們現(xiàn)在關(guān)心的是系統(tǒng)的可維修性設計。但對于小開發(fā)團隊和小規(guī)模程序來說,Ruby on Rails仍然是不二選擇。
原文:http://www.aqee.net/2011/04/23/twitter-moves-from-rails-to-java/
【編輯推薦】