【发布时间】:2018-05-21 19:36:49
【问题描述】:
以 Google.com 为例。如果它最终在任何时间点解析为单个 IP,则数据包将落在单个服务器上。即使它所做的只是发送重定向响应(用于将负载转移到其他服务器),它仍然必须能够每秒处理数十万个请求。
我可以想到一些非标准的方法来处理这个问题。例如,路由器可以被编程为跨多个服务器对数据包进行负载平衡。但这仍然意味着 google.com 依赖于单个物理设施,因为 IP 地址无法移植到另一个位置。
我希望互联网结构本身有一些机制来处理这些事情。每个域的多个 A 记录就是这样一种机制。但是在研究这个的时候我发现google.com的DNS条目只有一个A记录,并且IP值根据你从哪个站点查询而不同。
它是如何完成的?它在哪些方面更好?为什么 Google 选择这样做而不是拥有多个 A 记录?
尝试查找 google.com 的记录从不同的站点产生不同的结果: https://www.misk.com/tools/#dns/google.com 解析为 216.58.217.142 https://www.ultratools.com/tools/dnsLookupResult 解析为 172.217.9.206
【问题讨论】:
-
“它是如何完成的?它在哪些方面更好?为什么谷歌选择这样做而不是拥有多个 A 记录?” Google 有多个 A 记录。
-
你是怎么检查的?当我查找 misk.com/tools/#dns/google.com 或 ultratools.com/tools/dnsLookupResult 时,我只看到一条 A 记录
-
host google.com google.com has address 172.217.23.14 google.com has IPv6 address 2a00:1450:4009:801::200e -
另外,一个 IP 地址来自多个位置/设备serverfault.com/questions/14985/…
标签: dns routing load-balancing scalability