Jare.io ,号称是一个免费的内容分发网络(CDN),其本质是亚马逊CloudFront服务的包装。当配置CloudFront的麻烦超过其好处时,Jare.io能够用于在低流量情况下快速地试验CDN。
CloudFront不是免费的,但jare.io创建者背后的公司teamed.io支付了CloudFront的使用费用。Jare和cf.jare.io的CDN域名指向了CloudFront的分发域名。当一个请求第一次到达CloudFront至cf.jare.io时,CloudFront 会将请求转发给jare.io的服务器上作为源站或内容起始服务器,Jare.io则依次从实际源站获取内容并且那些内容必须被指定 整合为Jare.io 的一部分。
当选择CDN时,一些需要关注的点:
内容分发网络维护全球的POPs能够使静态内容从靠近用户的地点上提供,从而减少延迟。测量靠近度的方法可以是地理上的、网络跳数的数量或用户与POP之间的往返时间(RTT)。POP会从源站获取内容后进行缓存。InfoQ接触了一些主要的CDN供应商并询问了他们的技术。
CDN供应商使用DNS 单播(Unicast)或选播(Anycast)之一的通信方法以保证用户的请求传播自最近的位置。通常用户对定制域名(像cdn.infoq.com)的请求,会映射到CDN供应商的主机上。当单播的方法被使用时,DNS服务器会负责返回最靠近用户的CDN节点的地址。
当使用选播时,多个节点能拥有相同的 IP地址。当发生一个请求时,DNS服务器解析域名为IP地址,并负责发送请求到最拓扑靠近用户的节点上。最拓扑靠近可能不会转换至地理上的最近。选播能够用于DNS(定位最近的域名服务器)和HTTP(定位最近的内容POP)。
在HTTP选播方式中,DNS服务器给全部用户返回相同的IP地址,边界网关协议(BGP)负责路由用户到最近的IP地址所在的服务器, BGP 是一个用于在网络上交换路由信息的基础协议。
像MaxCDN的供应商使用了选播和DNS路由的 组合 。Verizon,在2013年 收购了EdgeCast ,在DNS和HTTP上都使用了选播方法。 HTTP 选播同样被 Fastly 和 Google 使用。Akamai拥有一个 更复杂的设置 的DNS 选播技术。
在最近几年已经有各种各样的努力使互联网(或者说万维网)更快。网页关键协议——HTTP,已经看到了升级 ——HTTP2。目前只有一些CDN 支持它 ,但它会在接下来几个月随着大部分浏览器 增加对它的支持 而增加。像Verizon和Fastly的提供商朝着支持它的方向上努力着。
另外一种用于在TCP协议上提高初始拥塞窗口(initcwnd)的改进已经实施一段时间了,initcwnd的设置控制了那些仍保持未回复的服务器(直到它能够发送更多)的发送包的最大数量。在老版本操作系统包括Linux的默认值非常小。一个低的值能影响浏览器从服务器接收应答的速度而与多高的可用带宽无关。提高值的方法,首次提出于2010的 Google论文 和之后于2013年作为 RFC 标准,已经被 大多数主要的CDN供应商采用 。
Akamai在 最大量接入点 上已经领先,大多数其他CDN供应商在功能提供上也紧跟其后。
查看英文原文: Jare.io, an Instant and Free CDN
感谢张龙对本文的审校。
给InfoQ中文站投稿或者参与内容翻译工作,请邮件至editors@cn.infoq.com。也欢迎大家通过新浪微博(@InfoQ,@丁晓昀),微信(微信号: InfoQChina )关注我们。