如果您現在要重新實現SO,您會使用哪些技術?如果您僅限於Java技術,您會使用哪些技術。建議的重新實現技術stackoverflow.com
4
A
回答
6
這是我寫的答案。
這是一個有趣的問題,因爲SO實際上是以一種非常傳統的方式爲Web應用程序構建的,但與通常的Web應用程序並沒有太多共同的特徵。特別是它需要高度可擴展性,但業務規則和數據存儲要求並不複雜。
因此,使用現在的技術,我會使用
傳統的JavaScript; SO使用jquery,那很好。
我會使用像Unicorn這樣的面向工作區的web應用程序,以便於擴展。
我會使用Hadoop和Cassandra來存儲問題和評論。
我會在整個數據庫中實現使用MapReduce的評分和排序規則。
方便的是,其中大部分可從Java獲得,但我更喜歡使用Ruby或Python之類的腳本語言。
我會避免通常的基於Java EE的世界。在我看來 - 我是Sun的早期Java EE用戶 - 那個techno.logy太過分了。我也會避開基於Windows的服務器;他們很難管理,而且相對昂貴。 (我可以用與OS許可證大致相同的價格構建服務器硬件。)
0
Scale OUT(縮放輸出)而非縮放。
1
我沒有坐在辦公室角落的服務器機架:),把它放在雲端。
BTW here是當前的架構
的概述這是一個真正的問題,還是一個開放式的討論? – Blender 2011-05-15 06:18:47
這當然是一個有潛在信息答案的問題。而且地獄裏,互聯網上的任何問題都可能是一個開放式的討論。 – 2011-05-15 06:24:31
@Blender這真的是一個問題;一個有多個答案。但是這與大多數關於stackoverflow的問題沒有什麼不同,人們爭論的是'正確'的代碼方式。 – Jeff 2011-05-15 06:30:46