dns - 如何连接到地理位置接近的数据中心
问题描述
我正在读一本关于分布式系统的书。提到的数据复制选项之一是使用一种multi leader
方法并将每个领导者放在一个different datacenter
. 不同数据中心的重点是地理上靠近用户。
然后作者讨论了由多个写领导者出现的所有写冲突,但他并没有过多地说明如何引导用户连接到地理上接近的数据中心。
例如,奥地利的用户向https://stackoverflow.com发出 HTTP 请求。Stackoverflow 在德国和北美设有数据中心。DNS 记录指向美国的数据中心。
初始请求是否总是指向美国的数据中心?我知道一旦识别出用户,我可以指示所有 AJAX 和 img 请求指向德国(通过更改我发回的 html 响应),但初始请求(例如页面重新加载)将始终指向美国。
如果他们总是必须首先连接到远程服务器,那么这有点违背了在地理上接近用户的目的,只有在那之后,内联资源才从附近的服务器获取。我在这里错过了一些基本原则吗?
解决方案
很有可能连接到地理位置最近的数据中心。有很多公司提供这种服务。例如。Akamai、AWS、谷歌云、Cloudflare。
这通常在 DNS 级别完成。因此,当有人向您的域发出请求时,第一个请求会转到 DNS 服务器以将域名解析为 IP 位置。-> 这是适当的最近服务器位置得到解决的地方。这通常也用于负载平衡,称为 DNS 负载平衡。
推荐阅读
- wordpress - 在负载均衡器下同步自动伸缩组中实例的内容
- amazon-web-services - 作为 Cloudformation 的一部分,将文件从代码库上传到 S3
- java - 组合框:getSelectedIndex() 在“重新选择”时行为不端
- git - 为什么 git status 说我有差异,而 git fetch origin 什么也没显示?
- javascript - 当我使用 Windows Performance Timing 时,我的 Load Event End 为 0
- html - EXCEL:如果填充了一组列,则使用返回值的函数
- java - Android 应用程序中的空对象引用
- vba - 为什么图表对象粘贴方法不起作用?
- python - 如何在 Python 中将提取的文本从 PDF 转换为 JSON 或 XML 格式?
- android - 点击 RecylerView 项目下载多个文件并显示下载进度