2012-08-16 35 views
1

我真的想了解網絡系統架構將如何看起來像一個網站,來自多個國家設有大量用戶的

  1. 提供數以萬計的在線服務的在線服務系統架構在任何時候

  2. 以多種語言提供支持的用戶,使許多國家的人們可以用它

基本上,我想知道需要考慮的事項。分佈式服務器(其他國家的服務器)?添加故障轉移?整件事情如何運作?

我注意到谷歌有google.com,goolge.run,google.cn等。這背後的理由是什麼?每個網址是否提供不同或相同的內容?

任何指針或信息真的很感激。

問候。

回答

0

建築相關任務沒有銀彈。但一般來說,對於大型且長期生活的項目,您應該考慮以下任務:

定義您應該從頭開始的目標容量。您無法在一次迭代中構建高可用性系統。最初,您可能可以從世界各地的最大用戶會話數= 1000開始,但您應該準備在此刻擴展。並且不要怕付出technical debt

重視底層技術細節。你無法想象這一點對於高規模項目如何重要。有了大量的數據,一些通用的解決方案可以用您自己的目的進行優化的替代。這與任何情況有關:數據庫方案,處理對服務器或排序算法的請求。例如,具有更多特定排序算法的優點非常小,但數據量巨大可以節省數十億美元。在這個級別上,你可能不得不按照請求處理的順序調整你的web服務器,所以你應該知道底層細節和它的源代碼。開源項目在這方面很好,因爲您可以隨時改進實施或修復錯誤。

最後,你應該知道一些廣爲人知的縮放方法。平衡和緩存是微不足道的,它可能是sharding,推遲了數據處理,甚至是數據的重複數據(考慮到Mark Tsukenberg在Facebook上發佈的數據庫中有多於一個發佈記錄,因爲他的用戶羣很多)

+0

Viktor,thank你爲你的輸入太多了。除了Mark Tsukenberg的帖子,你還有其他的一些建議嗎?我有一個通過使用j2se構建的系統提供在線服務的想法。我完成了一個解決關鍵技術問題的試點系統。現在我計劃尋找風險投資,並且必須計算包括系統在內的所有事情的成本。 – curious1 2012-08-17 03:35:47

+0

這是一個開放式問題。我相信,如果您管理試點項目和商業理念,您將獲得解決任何相關問題的經驗。每一位專家都在家裝成衣:) – 2012-08-17 05:35:00

相關問題