如何连接到地理位置紧密的数据中心

时间:2019-06-19 19:52:50

标签: dns distributed-system

我正在读一本有关分布式系统的书。提到的数据复制选项之一是使用multi leader方法,并将每个领导者置于different datacenter中。不同数据中心的要点是在地理位置上靠近用户。

作者随后讨论了由多个写领导导致的所有写冲突,但是他没有过多地说明如何引导用户连接到地理位置紧密的数据中心。

例如,奥地利的用户向https://stackoverflow.com发出HTTP请求。 Stackoverflow在德国和北美拥有数据中心。 DNS记录指向美国的数据中心。

最初的请求是否总是指向美国的数据中心?我知道,一旦确定了用户身份,我就可以指示所有AJAX和img请求都指向德国(通过更改发送回的html响应),但是诸如页面重新加载之类的初始请求将始终指向美国。

如果用户始终总是必须首先连接到远程服务器,并且在此之后才从附近的服务器中获取内联资源,那么这有点违反了地理位置上靠近用户的目的。我在这里是否缺少一些基本原则吗?

2 个答案:

答案 0 :(得分:0)

很有可能连接到地理位置最近的数据中心。有很多公司提供这项服务。例如。 Akamai,AWS,Google Cloud,Cloudflare。

这通常在DNS级别完成。因此,当有人向您的域发出请求时,第一个请求将转到DNS服务器以将域名解析为IP位置。 ->在此解析适当的最近服务器位置。 通常也用于负载平衡,称为DNS负载平衡。

答案 1 :(得分:0)

这是通过Geo DNS完成的,大多数云服务提供商都具有此功能。
This article对Geo DNS的工作方式有很好的解释。

例如,在AWS中可以设置一个Geo Location policy,这样您就可以根据用户的地理位置(即DNS查询的来源)来选择为流量提供服务的资源