CDN调度算法(2)

通过最近在公司的学习,了解到在CDN主要是DNS调度与302调度方式。
下面总结下二者的区别,与相互的优势。
首先DNS做省市级别和跨运营商的调度, 302做基于内容和精确IP的精确调度,一般二者结合起来使用。

DNS调度

  1. DNS的优点:DNS系统是天然的分布式结构客户端本机,LDNS都可以实现cache,架构本身就能实现高的伸缩性和性能
  2. DNS的缺点:DNS并不是为GSLB设计的GSLB 基于 local DNS的地址判断,粒度较粗。而且LDNS可能和end user网络距离很远。用户可能会设置错误的Local DNS,该服务器和用户实际距离较远,比如8.8.8.8等(edns-client-subnet可以部分解决该问题)DNS请求里面不会带有内容信息,GSLB只能拥有LDNS ip信息,无法针对内容作出更加灵活的判断因为DNS reply TTL,所以某个用户一段时间内的请求都会导向同一个site (解决:趋向于较短的TTL) 因为local dns缓存和TTL的存在,你很难判断某次的返回会对负载有多大影响某些Local DNS会忽略DNS TTL信息,而采用固定的TTL时间,对此我们无能为力电信系统倾向于直接使用ip地址访问,不使用域名。

302调度

  1. 302的优点:可以直接得到end user ip和内容的地址,可以做出精确的redirect每个请求都需要访问GSLB,可以做出单独的处理可以在一个点方便的作出统计和认证。
  2. 302的缺点:需要应用层协议支持(http / rtsp)一般有重定向次数限制GSLB需要处理较多的请求,却没有LDNS作为cacheGSLB暴露给end user , 容易遭受攻击用户访问GSLB本身就会带来时延,可能深圳的用户需要访问北京的GSLB单点故障(可以通过GSLB服务群集解决)某些应用对URL变化敏感,比如WEB某些客户端支持不好(中文字符集等问题)

你可能感兴趣的:(实习学习笔记,互联网)