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