CDN总结之四

3.3 路由重定向

路由重定向系统用来对用户请求转发到合适的代理节点,从而进一步进行内容分发。有的时候最近的代理节点未必就是最合适的。[30]路由转发系统通常会将一些因素例如网络上的邻接性、用户体验时延、距离、服务器负载等作为选择最合适服务器的参考。

内容的选择和分发方法对路由重定向的设计有影响。就像之前说的全站点内容选择和分发,路由重定向系统只需将请求转达到代理服务器即可,因为代理服务器存有所有的内容;当采用站点部分内容选择和分发,源服务器负责发送基本内容,而代理节点负责发送内置对象。

路由重定向系统包括两个部分:路由重定向算法和路由重定向机制。[31]路由重定向算法是当接受到用户请求时,用来选择合适边缘服务器进行响应;路由重定向机制则是在使用路由重定向算法之后,告知用户选择结果。


   如上图所示,用户对内容的请求中包含了指定的URL,请求会被发送到源服务器;源服务器接收到请求,决定自己要发送的基本内容,为了适应高带宽要求和内容访问的速率,源服务器将请求重定向到CDN提供者;采用合适的算法,CDN提供者选择合适的副本服务器作为“最近”服务器响应用户请求;副本服务器从源服务器获得内置对象,从而满足用户请求。

3.3.1 路由重定向算法

分为两类:自适应和非自适应。自适应算法考虑当前系统情况,从而选择合适缓存服务器来分发内容。当前系统情况靠的是对一些因素的考虑例如副本服务器的负载、网络连接状况。非自适应算法则是利用经验来进行选择缓存服务器而不考虑当前的具体情况。非自适应算法部署容易,自适应算法则复杂;非自适应算法运行高效,自适应算法需要系统具备健壮性。

非自适应路由重定向算法:常见的是roud-robin算法,将请求发送到CDN缓存服务器并对它们进行负载均衡[32]。该算法中,假设所有服务器拥有相似的处理能力,服务器能够处理任意请求。对于在同一地方的缓存服务器来说,这一算法简单高效,但是对于分布式系统则性能欠佳。[33]在另外的一个非自适应路由重定向算法中,所有副本服务器会通过其预测的负载进行分级。这些预测是基于服务器已经响应的用户请求数。该算法考虑了客户与服务器之间的距离,用户请求会在考虑负载均衡的情况下进行转发。采用该算法的假设就是缓存服务器的负载和用户与服务器之间的距离是影响请求响应的最主要因素。[34]还有一些其他的算法像Cisco DistributedDirector[35];Karger提出对内容URL和服务器进行hash,隐射到同一空间,假设缓存服务器拥有超过其hash值最小的内容[36]。

自适应重定向算法:Globule[37]是一个自适应重定向算法,其通过计算网络邻接性来选择合适的缓存服务器。Globule的邻接情况是通过周期性更新路径长度获得;这样就可以把用户请求重定向到最小时延的缓存服务器。该算法具备高效性,但是由于要维护统一的网络连接DB,缺乏可扩展性。

Akamai采用的是复杂的自适应重定向算法。该算法考虑和一系列因素,包括缓存服务器的负载和带宽、用户和缓存服务器之间的负载可靠性等。

3.3.2 路由重定向机制

Global Server Load Balancing(GSLB):采用该方法,服务节点由包含了一个GSLB网络交换机和一系列分布式的web服务器组成。服务节点拥有的两个功能使得其能够进行负载均衡:全局感知和智能授权。在GLSB中,每个服务节点都知道本地其他服务节点的负载情况和虚拟IP地址。接下来,GLSB网络交换机使得服务节点能够全局感知包括服务节点的地址。由于GLSB知道全局服务节点情况,所以能够进行合适代理节点的选择,不仅仅是选择本地服务器还包括远程服务节点;网络管理员在不增加网路设备的情况下就能使用GLSB。缺点就是需要进行服务节点的配置。

基于DNS的路由重定向:在该方法中,内容分发服务基于被修改了的DNS服务器,其保存了在代理服务器名称和其IP地址之间的一个关联(mapping),从而进行内容的分布服务。该方法用于全站点内容选择和分发。在基于DNS路由重定向中,每个域名有多个IP地址与之关联;当用户请求内容时,服务提供者的DNS服务器返回保存副本服务器的IP地址;用户DNS解析器在返回的地址列表中选择一个。为了决定选择哪一个,用户DNS解析器可能会发送探针去考察服务器的响应时间。优点就是透明性和简单性;主要的缺点就是增加了网络时延,因为增加了DNS查找的时间。CDN提供者为了克服这一缺点,通常将CDN 的DNS分为两级[38];另外一个缺点就是没有考虑用户的IP地址。

HTTP重定向:需要缓存服务器对HTTP头部进行设定。HTTP协议允许web服务器响应用户请求时通过特殊消息告知用户重新将请求发送到其他服务器。HTTP重定向可用于全站点内容选择和分发和站点部分内容选择和分发。该机制可以建立专门的web服务器用来响应用户请求,选择合适服务器响应并使得用户将请求重新发送到缓存服务器。采用HTTP重定向需要增加外的头部。优点就是简单和适用,其次还有很好的粒度,因为每个网页可以看作一个粒度。显著的缺点就是不具备透明性。

URL重写&#x

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

大胖5566

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值