Google在多个位置拥有多台服务器。当我在网络浏览器中搜索Google时,DNS如何将此名称映射到相应的IP地址? Google在多个位置拥有多个服务器,并且具有单独的IP。首先使用负载均衡器吗?
答案 0 :(得分:2)
在大规模反向代理服务器中通常用于此目的,它也可以执行各种任务,包括负载平衡。对于客户端,似乎您只连接到一个服务器,而反向代理隐藏它后面的服务器。
在小规模中,您可以使用DNS设置将不同的域名映射到不同的IP地址来执行类似的操作。见this article
答案 1 :(得分:2)
使用了几种不同的方法:
当域名请求进入时,DNS服务器会查看发出请求的IP地址,并返回附近服务器的IP地址。
需要一些复杂的扩展来处理大型共享缓存DNS服务器(如ISP名称服务器),但这是一般的想法。
Anycast是一种奇怪的路由技巧,其中单个IP范围可以由多个AS公布。这将导致对该范围内的IP地址的请求被路由到最接近的服务器。
如果在任播IP上托管DNS服务器,则可以将该服务器的不同实例配置为返回不同的IP。这可以用作地理DNS的计算上更容易的替代方案。
如果可以使用任播来将DNS路由到最近的服务器,为什么不进入下一步并使用它来路由HTTP呢?
(事实证明,这就是您通常不想这样做的原因:路由更改可能会破坏HTTP连接。这不会影响DNS,因为它通常使用但是,无论如何,Cloudflare都会这样做,它通常可以正常工作...... YMMV。)