Networking
Google網路架構
我知道這個問題可能會被關閉為“不是一個真正的問題”、“主觀的”甚至是“爭論的”。如果這是一個錯誤,我很抱歉。
我一點也不擅長網路,但我正在努力變得更好並學習更多。(你可能知道這句話:“智慧的第一步是承認你很愚蠢”:P)。
網路方面,當我在瀏覽器中輸入 www.google.com 並按 Enter 後會發生什麼?
這是我到目前為止所知道的:
- 瀏覽器應用程序發出 DNS 請求以查找 www.google.com 的 IP。它可能會找到 209.85.148.105 (這就是我現在剛剛解決的問題)。
- 然後它通過 TCP/IP 連接到埠 80(HTTP 的預設埠)上的該主機,並發送一個 HTTP 請求,如 GET /
- 接收 HTML 數據並顯示它(以及載入其他資源,如 .css、圖像文件等)
我想知道的是它是如何一步步連接到Google伺服器的。在請求從我的電腦和我的 ISP 發出後,它終於在某個時候到達了Google硬體。
- 有負載均衡器嗎?
- 他們有多少?
- 是否有多個級別的負載均衡器?即:負載均衡器的負載均衡器…
- 終端網路伺服器有多強大?會不會是一台糟糕的 500 MHz CPU 機器,配備 512MB RAM 和 10 GB HDD?或者可能是 8 核、16GB、RAID-0 SSD 野獸?
- 他們在網路級別使用什麼樣的冗餘?
- 如果負載均衡器發生故障會怎樣?
- 如何使 www.google.com 不可用?(不,我不想破壞或……)
試試http://highscalability.com/display/Search?searchQuery=google它有很多資源。
關於 Google 的硬體,這是一個很好的起點。
還有一些關於拓撲/負載平衡的東西。