谷歌在多个地点拥有多台服务器。当我在web浏览器中搜索Google时,DNS如何将此名称映射到相应的IP地址?谷歌在多个位置有多个服务器,具有独立的IP。是否先使用负载均衡器?
发布于 2017-02-18 17:12:36
在大规模应用中,反向代理服务器通常用于此目的,它还可以完成包括负载均衡在内的各种任务。对于客户端来说,您似乎只连接到一台服务器,而反向代理将服务器隐藏在它后面。
在小范围内,您可以通过DNS设置将不同的域名映射到不同的IP地址来做类似的事情。请参阅this article
发布于 2017-02-18 17:27:15
使用了几种不同的方法:
地理DNS
当请求域名时,DNS服务器会查看发出请求的IP地址,并返回附近服务器的IP地址。
需要一些复杂的扩展来处理大型共享缓存DNS服务器(如ISP名称服务器),但这是一般的想法。
任播DNS
Anycast是一种奇怪的路由技巧,其中单个IP范围可以由多个ASes通告。这将导致对该范围内的IP地址的请求被路由到任何最近的服务器。
如果DNS服务器托管在任播IP上,则该服务器的不同实例可以配置为返回不同的IP。这可以用作地理DNS的计算上更容易的替代方案。
任播HTTP
如果anycast可以用于将DNS路由到最近的服务器,为什么不直接转到下一步并使用它来路由HTTP呢?
(事实证明,您通常不想这样做是有原因的:路由更改可能会中断HTTP连接。这不会影响DNS,因为它通常通过UDP使用。尽管如此,Cloudflare还是会这样做,而且它通常在…上运行得很好YMMV。)
https://stackoverflow.com/questions/42313206
复制相似问题