我对这个领域还很陌生,所以我的措辞可能不太准确。
我的加密货币交易所提供了一个 API,我在使用它的时候偶然发现了这个问题AWS Cloud9我可以通过切换来改变客户的区域EC2 实例.
我正在测量潜伏(*1) 若干REST API来自不同客户地区的请求。
(*1) 我测量了客户端request.get/post
和客户端接收json
有效载荷之间的时间差(以毫秒为单位)。
以下是我得到的。
从结果来看,我明白API 服务器端点1和端点2位于不同的区域,这意味着该公司有单个域的多个服务器位置。
拥有服务器有什么好处(或者具体来说,API 服务器) 位于单个域的不同位置?
答案1
您几乎已经回答了您的问题。一般来说,这样做的好处是响应延迟更低。虽然将它们放在同一个域中听起来您无法选择最近的服务器,但事实并非如此。有一些技术可以解决这个问题。
其中之一是让您的 DNS 服务器响应与客户端 IP 地理位置最接近的端点 IP。这并不总是有效,因为您可以使用一些离您的地理位置不近的奇怪 DNS 服务器。但通常这会有效并提高响应速度。
此外还有这样的事情任播或者地理广播。即使同一个 IP 也可以位于地理分布的不同端点上,以降低延迟。简单的例子是Google 公共 DNS服务器。你可以 ping 这些服务器,发现从世界不同地方的延迟会非常低。如果你运行跟踪路由,你可以看到它通过不同的作为提供相当短的路线。
第二个好处是具有冗余性。如果其中一台服务器发生故障,负载平衡器会将请求转发到其他服务器。由于无法选择最近的服务器,响应可能会变慢,但至少它不会完全故障。