将 www 指向 CDN(Akamai)

将 www 指向 CDN(Akamai)

为什么有人会将 (CNAME) www.example.com 指向 cdn?
当我在 Etsy 上运行主机时,我得到了

[c]$ host www.etsy.com
www.etsy.com is an alias for www.etsy.com.edgekey.net.
www.etsy.com.edgekey.net is an alias for e2463.b.akamaiedge.net.
e2463.b.akamaiedge.net has address 184.85.74.37 

尽管

[c]$ host etsy.com
etsy.com has address 38.106.64.20
etsy.com mail is handled by 10 mxin.mxes.net.

为什么有人会这样做?

答案1

人们会将 www.etsy.com CNAME 到 CDN 作为一种委托形式,以便该 CDN(在本例中为 Akamai)的全球流量管理服务可以确定查询 www.etsy.com 的 DNS 解析器的位置,并从其 CDN 网络返回最近的边缘。

对于 Akamai,我认为通过其自身网络的域名是 *.edgekey.net 和 *.edgesuite.net。在这种情况下,返回的 IP 地址将归 CDN 所有。

您还可以将 CNAME 添加到最终解析为您拥有的 IP 地址的记录。这种情况纯粹是为了流量管理而考虑的,您不会同时获得“缓存网络优势”。当您在多个地理位置都有存在/容量并且只需要 GTM 系统将最近的 A 记录移交给查询 www.example.com 的用户时,这种设置的优势非常有用。就 Akamai 而言,据我所知,所有以 .akadns.net 结尾的域名都是 GTM 专用的。

实现地理故障转移的另一种方法是通过任播,但这超出了本问题的范围。

关于 etsy.com 为何指向他们拥有的 A 记录:您无法对基础域记录进行 CNAME。如果您希望在这样的基础域上实现容错,您可以将该域名委托给您的 CDN,但您随后就交出了所有权,我认为在这种情况下 etsy 不会愿意这样做。因此,他们通过将其指向他们的一个位置并将用户 301 重定向到他们的 www 主机来解决问题,让他们通过 Akamai。

如果 38.106.64.20 出现故障,etsy.com 将会失败,但只要 etsy 的 www 域名背后有多个来源,www.etsy.com 将继续工作。

答案2

因为 CDN'ing www 是一件好事 (TM)。

我们在 www.huffingtonpost.com 上这样做,它有利于卸载对我们网站的所有 http 请求的约 90%(不是估计值,来自图表)。如果开发人员只使用少量基本技巧,例如 ajax 为个人加载动态内容,并将时间戳或 svn 签出号码附加到 URL 作为“只是为了使 URL 唯一”的值,即使有 90% 以上的边缘卸载,您也可以立即发布。

任何流量相当高的网站都会构建一个 http 缓存层。问题是您是否构建并地理共置您自己的 squid/varnish 服务器集群,还是向 akamai/cotendo/etc 开一张支票来做这件事。

“地理”部分也很重要。跨越美国大陆的互联网延迟为 80 - 100 毫秒。如果您的网站托管在东海岸,那么这对西海岸用户来说将是一个巨大的负担。

答案3

非 www 指向不同服务器的原因是因为您无法将裸域名解析为 CNAME。有时它可能有效,但官方不支持。这就是为什么大多数公司会将裸域名重定向到 www,因此即使对于大量请求,裸域名也只需要一个相当轻量级的网络服务器。

答案4

这可能不是分散负载的最佳方法,但我猜他们的系统管理员设置了 www.* 子域来指向 CDN,这样任何峰值都可以通过它来处理,并且假设 etsy 的人口统计数据,我会说访问该网站的大多数人都会把 www 放在前面。

至于为什么非 www etsy 指向不同的服务器?

我想说的是,对于其他子域,它们都指向一个(或两个)服务器,以便为更多有文化的用户提供更多任务。

看了@ErikA 的回答,我觉得这与我的答案一致。因此,如果管理员访问(例如)admin.etsy.com,它将转到单个服务器,而如果该请求首先转到 cdn,如果 CDN 出现问题,则所有管理员用户都无法在不知道 IP 地址的情况下登录。

相关内容