为了我的求知欲,我试图了解像 Facebook 或 Wikipedia 这样的大型网站是如何运作的。我阅读了构建可扩展站点的各种技术,但我仍然对一个特定的细节感到困惑。
让我困惑的部分是,最终,DNS 会将整个域映射到单个 IP 地址,或者在循环 DNS 的情况下映射到少数 IP 地址。
例如,wikipedia.org 只有一个 A 类 DNS 记录。因此,来自世界各地的访问维基百科的人必须向 DNS 中指定的一个 IP 地址发送请求。
侦听大型站点的 IP 地址的硬件是什么,它如何处理来自世界各地用户请求的所有负载?
编辑 1:感谢所有回复!任播似乎是一个可行的答案......有谁知道一种检查特定 IP 地址是否是任播路由的方法,以便我可以验证这确实是大型站点在实践中使用的技巧?
编辑 2:在对该主题进行更多阅读后,似乎任播通常不用于动态 Web 内容。任播通常用于 UDP(例如,DNS 查找),或有时用于静态内容。
需要注意的一件有趣的事情是 Facebook 使用 profile.ak.fbcdn.net 来托管静态内容,如样式表和 javascript 库。每次 ping 这个名字时,我都会收到来自不同 IP 地址的响应。但是,我不知道这是正在使用的任播还是完全不同的技术。
回到我最初的问题:据我所知,即使是大型站点也会有一个昂贵的负载平衡硬件来监听其少数公共 IP 地址。