主持人/logging和地理位置

如果我有相同的DNS名称的多个Alogging(即example1.com有两个Alogging200.1.1.1和222.1.1.1),例如一个服务器位于加拿大,另一个位于香港,访问者IP地址和物理位置自动被用来引导他们到最近的物理IP地址? 如果一台服务器出现故障,请求会自动重新路由到另一台服务器上? 如果情况并非如此,有什么好的解决办法可以做到这一点? 我希望“互联网”和所有的路由器和DNS服务器都足够聪明,至less去最近的IP地址…

您所描述的情况称为“循环赛DNS”。 客户端PC将从池中select一个随机的IP地址返回给它。 它不像你所希望的那样聪明。

您正在寻找的服务types是一个DNS服务器,对input请求执行GeoIP查找,并提供最接近请求者位置的IP地址。 我相信有第三方DNS提供商支持这一点。

绑定支持GeoIP。 您寻找的关键词是匹配客户端

match-clients {country_AR; country_CL; country_BR; };

你试图解决的问题是分开的,但相关的。 具体来说,你正试图实现以下两件事情:

  1. 负载均衡
  2. 高可用性

负载均衡是通过不同的服务器分配用户请求。 用户分布在服务器上的方式可能会有所不同。 举两个例子:

  • 循环法 – 在每个请求的两台服务器之间交替
  • 最less的连接 – 让你的负载平衡设备跟踪每个服务器处理多less个连接,并发送新的请求到最less的服务器

在这种情况下,您希望将用户定向到距离请求来源最近的服务器。 正如其他答案中所提到的,各种DNS提供商都提供这种服务,就像BIND这样的DNS服务器一样。

高可用性是指确保如果您的服务器之一不再可用,用户被引导到一个替代scheme。 一个常见的做法是通过使用IP选播; 然而,为了这个工作,您的托pipe服务提供商必须愿意接受来自您的路由广告等等。 看到这个问题 ,对Anycast进行更深入的讨论。