主机/A 记录和地理位置

主机/A 记录和地理位置

如果我对同一个 DNS 名称有多个 A 记录(即 example1.com 有两个 A 记录 200.1.1.1 和 222.1.1.1),例如一个服务器位于加拿大,另一个位于香港,访问者的 IP 地址和物理位置是否会自动用于将他们定向到最近的物理 IP 地址?如果一台服务器发生故障,请求是否会自动重新路由到另一台服务器?如果不是这种情况,有哪些好的解决方案可以实现这一点?我希望“互联网”及其所有路由器和 DNS 服务器都足够智能,至少可以转到最近的 IP 地址...

答案1

您描述的情况称为“循环 DNS”。客户端 PC 将从池中随机选择一个 IP 地址并将其返回给它。它并不像您希望的那样智能。

您正在寻找的服务类型是 DNS 服务器,它对传入请求进行 GeoIP 查找并提供最接近请求者位置的 IP 地址。我相信有第三方 DNS 提供商支持此功能。

答案2

Bind 支持 GeoIP。您要查找的关键词是 match-clients

匹配客户端 { country_AR; country_CL; country_BR; };

答案3

您要解决的问题虽然独立,但又相互关联。具体来说,您要实现以下两点:

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

负载均衡正在将用户请求分发到不同的服务器。用户在服务器之间的分发方式可能有所不同。仅举两个例子:

  • 循环调度 - 针对每个请求在两台服务器之间交替运行
  • 最少连接 - 让您的负载平衡设备跟踪每台服务器正在处理的连接数,并将新请求发送到负载最少的服务器

在这种情况下,您希望将用户定向到距离请求来源“最近”的服务器。如其他答案所述,各种 DNS 提供商都提供此服务,BIND 等 DNS 服务器也提供此服务。

高可用性指的是确保如果您的某个服务器不再可用,用户将被引导至替代服务器。一种常见的方法是使用 IP 任播;但是,为了使它发挥作用,您的托管服务提供商必须愿意接受您的路由广告等。请参阅这个问题以便对任播进行更深入的讨论。

相关内容