Ste*_*son 17 domain-name-system cdn
我想这个问题可能是有资格的,CDN 如何在 DNS 级别工作,但我遇到的真正问题是我的公司在三大洲都有数据中心,我们必须拥有 europe.example.com us.example.com 和 asia.example .com
CDN 通常会根据您的 IP 地址将您发送到我想象的本地数据中心。这一定是 DNS 问题,您在美国的 DNS 服务器将您发送到美国数据中心进行相同的 example.com DNS 查找?
我错了吗?如果我错了,如果没有中央(非 DNS)服务器,我将如何有效地做到这一点?
Aln*_*tak 14
CDN 的问题在于,它们不会根据您自己的 IP 地址来引导您——它们会根据您的 DNS 服务器的 IP 地址来引导您……这可能是完全错误的。并且一定要阅读Paul Vixie 的 ACM 文章,这很划算。
无论如何,如果您已经region.example.com设置并运行,您可以考虑example.com根据客户端的 IP 地址执行从相关网络服务器的 HTTP 重定向。
这几乎就是谷歌所做的,这就是我最终google.co.uk输入google.com.
还要确保您为客户提供了一种获取其他变体的方法。客户不喜欢被迫访问特定站点,无论是由于地理数据库中的错误,还是仅仅因为他们实际上需要从另一个区域查看该站点。
较新的 CDN(Cloudflare、MaxCDN、fast.ly)对 DNS 和实际内容服务器使用任播。这比尝试使用 DNS 查询的源 IP 和不断变化的映射数据库要好一些。
理论上,对 DNS 和内容服务器使用任播允许网络本身找到“最接近”客户端的服务器。在实践中,这几乎是正确的,但是由于 ISP 之间不断变化的对等关系,新加坡的人们会访问加利福尼亚而不是香港的边缘服务器,因此会出现一些奇怪的情况。
Anycast很难做好。
较旧的 CDN(如 Akamai 和 Limelight)通常使用任播将您带到最近的 DNS 服务器,然后采用基于源 IP 的猜测方法。这在我的经验中效果不佳,特别是如果客户端使用的 DNS 服务器在网络拓扑方面实际上并不在附近。但是,像 Akamai 这样庞大的成熟 CDN 拥有数百个内容服务器位置,因此返回“足够接近”的答案会带来不错的用户体验。显然,拥有数百个站点是非常昂贵的,这就是为什么所有全选播 CDN 都没有选择这条路线的原因。因此,他们也不会对大多数等效的服务收取太多费用。
有多种方法可以解决这个问题,但它们都归结为找出 IP 地址在哪里,并相应地指向它。例如,您可以为北美指定一系列 IP,为欧洲指定一个 IP 范围。如果请求信息的 IP(来自 DNS、您的网络服务器、内容服务器等)位于欧洲范围内,那么您的欧洲服务器应该会收到请求。
| 归档时间: |
|
| 查看次数: |
16116 次 |
| 最近记录: |