如果您現在要重新實現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是當前的架構
相關問題
- 1. 實現類推技術
- 2. IVR技術實現細節
- 3. 技術棧不同域之間實時聊天的建議
- 4. 關於哪種技術用於實時通知的建議
- 5. 自動建議技術和選項
- 6. 需要技術推薦/建議
- 7. 關於學習新技術的建議,第一年COOP
- 8. FSM狀態的實現技術
- 9. 學習新技術的最佳實踐
- 10. 標籤建議箱庫 - 就像Stackoverflow.com
- 11. 如何實現反應本地技術
- 12. IOS Notification實現設計技術
- 13. 推送服務器實現技術?
- 14. PCA面部識別,實現技術
- 15. 在Android中實現iBeacon技術
- 16. Spring如何實現該技術?今天
- 17. 在Android上實現推送技術
- 18. 如何在Tensorflow中實現新的池化技術?
- 19. 建議構建Web應用程序的技術
- 20. 請求新技術
- 21. C++技術新手
- 22. java中的最新技術
- 23. 新的Java技術JAXX
- 24. 技術來創建CFG的
- 25. rails和重構,vim用戶特有的建議工具和技術?
- 26. 需要關於使用技術(WCF,Web服務等)的建議。
- 27. 數據訪問層的庫/技術建議所需
- 28. 關於Web服務或相關技術的建議
- 29. 需要關於選擇聊天技術的建議
- 30. CRM4(ISV)插件許可技術方法的建議
的概述這是一個真正的問題,還是一個開放式的討論? – Blender 2011-05-15 06:18:47
這當然是一個有潛在信息答案的問題。而且地獄裏,互聯網上的任何問題都可能是一個開放式的討論。 – 2011-05-15 06:24:31
@Blender這真的是一個問題;一個有多個答案。但是這與大多數關於stackoverflow的問題沒有什麼不同,人們爭論的是'正確'的代碼方式。 – Jeff 2011-05-15 06:30:46