首页 > 解决方案 > 如何连接到地理位置接近的数据中心

问题描述

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

然后作者讨论了由多个写领导者出现的所有写冲突,但他并没有过多地说明如何引导用户连接到地理上接近的数据中心。

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

初始请求是否总是指向美国的数据中心?我知道一旦识别出用户,我可以指示所有 AJAX 和 img 请求指向德国(通过更改我发回的 html 响应),但初始请求(例如页面重新加载)将始终指向美国。

如果他们总是必须首先连接到远程服务器,那么这有点违背了在地理上接近用户的目的,只有在那之后,内联资源才从附近的服务器获取。我在这里错过了一些基本原则吗?

标签: dnsdistributed-system

解决方案


很有可能连接到地理位置最近的数据中心。有很多公司提供这种服务。例如。Akamai、AWS、谷歌云、Cloudflare。

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


推荐阅读