【问题标题】:how to connect to geographically close datacenter如何连接到地理位置接近的数据中心
【发布时间】:2019-06-19 19:52:50
【问题描述】:

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

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

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

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

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

【问题讨论】:

    标签: dns distributed-system


    【解决方案1】:

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

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

    【讨论】:

    • 感谢您的光临。我查看了各种托管服务提供商的 DNS 设置,但没有发现任何可以表明哪个 IP 适合特定地理位置的信息。设置基于地理位置的 DNS 从实用层面看如何?
    【解决方案2】:

    这是通过 Geo DNS 完成的,大多数云服务提供商都有这个。
    This article 很好地解释了 Geo DNS 的工作原理。

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-02-05
      • 1970-01-01
      • 2018-07-11
      相关资源
      最近更新 更多