我读过如何使用DNS将访问者发送到最近的服务器?的文章,但仍然有一些东西,在实际的层面上,我不明白。
假设我有两台服务器。一个在纽约,一个在巴黎。它们都有不同的IP地址1.1.1.1和1.1.1.2是由ISP (或托管公司)分配给它们的。
我需要遵循哪些步骤,这样在欧洲输入http://blabla.com:8080的人就会被转换到最近的服务器的IP中?
我的最终目标是通过将用户引导到最近的服务器来提高我编写的TCP套接字应用程序的速度。
更新:谢谢大家的回答。我想我还有很多要学的:\在我真正做到这一点之前。
发布于 2013-03-20 23:52:08
Amazon的Route53是一个可靠和价格合理的全球负载平衡器,它使用了anycast。这是迄今为止最简单的路线。
如果你想自己设置任何广播DNS,你需要获得一个IP地址,并有多个数据中心位置广告这个IP地址在他们的BGP。通常,人们购买IP地址的范围来自他们的相关权限,但是我看到一些数据中心愿意租赁人员IP地址,并允许他们从其他数据中心为他们做广告。
典型的设置是每个服务器都有自己的唯一IP地址和anycast地址。例如:
伦敦有1.1.1.1和3.3.3.3纽约有1.1.1.2和3.3.3.3
DNS服务器在每台侦听3.3.3.3的服务器上运行,并为该服务器发出唯一的IP。
请记住,anycast位于IP层,因此低于传输技术(如TCP )。因此,任何跟踪状态的传输(例如TCP)都不适合于任意广播。DNS (通常)是UDP,并用作将客户端分发到其最近的服务器以建立TCP连接的方法。
发布于 2013-03-20 22:35:08
您需要使用一个将DNS响应基于其位置的服务。要么外包给DNS公司,要么自己动手。我认为您真正需要的技术是全球服务器负载平衡(GSLB),而不是AnyCast。
大多数DNS公司将此作为一种服务提供。
PowerDNS似乎是DIY:http://www.powerdns.com/auth.html的流行解决方案
https://serverfault.com/questions/489852
复制相似问题