Googlenetworking架构

我知道这个问题可能会被视为“不是真正的问题”,“主观的”甚至是“论证的”。 如果这是一个错误,我很抱歉。

我在networking上并不擅长,但是我正努力变得更好,学习更多。 (你可能知道这句话:“智力的第一步是承认你是愚蠢的”:P)。

networking方面,在我的浏览器中inputwww.google.com并按回车键后会发生什么?

以下是我所知道的:

  • 浏览器应用程序发出DNS请求来查找www.google.com的IP。 它可能会发现209.85.148.105(这就是我现在刚刚解决的)。
  • 然后它通过TCP / IP连接到端口80(HTTP的默认端口)上的主机,并发送一个HTTP请求,如GET /
  • 接收HTML数据并显示它(以及加载额外的资源,如.css,图像文件等)

我想知道的是它如何一步一步连接到Google服务器 。 请求从我的电脑和我的ISP终止后,终于在某个时候点击谷歌硬件。

  • 有负载平衡器吗?
  • 他们有多less?
  • 是否有多个级别的负载均衡器? 即:负载均衡器的负载均衡器负载均衡器…
  • 最终的Web服务器有多强大? 它可能是一个糟糕的500兆赫CPU机器与512MB RAM和10 GB硬盘? 或者,也许是一个8核,16GB的RAID-0 SSD野兽?
  • 他们在networking级使用什么样的冗余?
  • 如果负载平衡器失败会发生什么?
  • 如何使www.google.com不可用? (不,我不想破坏或者……)

关于Google的硬件,这是一个很好的开始 。

那里还有一些关于拓扑/负载平衡的东西。