经过Azure中国CDN产品团队的不懈努力,融合CDN服务的一个重要功能 Smart Routing目前已经正式上线。在接下来的一段时间该功能将逐步开放给所有客户。本文主要对Smart Routing做一个基本的介绍。
问题
在具体介绍Smart Routing是什么之前,我们先来聊一聊它所主要解决的问题。目前客户在使用CDN服务时,从所选择的服务厂商的数量可以分为以下两种:
只使用一家CDN厂商
这是一种比较普遍的使用情况,尤其是对那些IT部门资源相对比较紧张的公司,没有专门的CDN管理人员。但随之而来的问题就是,因为被绑定在一家CDN服务商,客户所能获得的CDN服务的性能、可用性、节点覆盖以及加速类型都会被绑定在一家CDN服务商。而且这也非常容易造成“单点故障”,如果这一家CDN服务商的服务出现全面的(或者在某些地区,某些网络运营商)故障,为了不让服务中断,在单一CDN服务商恢复服务之前,客户所能做的就只有临时将访问都切回源站。但这样,就会对源站造成比较大的影响,也就失去了使用CDN服务的意义。
下面我们通过一个实际的数据来验证一下前面提到的性能问题:没有一家CDN厂商在全国所有地区、所有运营商的组合下,性能都是最优。这组数据是我们通过使用第三方专业的性能测试平台,对相同的三家CDN服务商、相同的测试文件、相同的测试时间段,不同的两个地区(北京和上海)所做的测试,结果如下:
- 200KB 文件下载,3 家 CDN厂商,11/8 – 11/15,北京
- 200KB 文件下载,3 家 CDN厂商,11/8 – 11/15,上海
从上面的数据中可以明显看出,蓝色所对应的CDN厂商在北京地区性能相对差一些,但是在上海地区相对性能是最好的。
使用多家CDN厂商
鉴于上面所述的只使用一家CDN厂商所遇到的问题,第二种情况就是客户自己使用多家CDN厂商服务,来尽可能的规避这些问题。但随之而来的会引入一些新的问题。
- 需要自己的IT管理团队具有相对更加专业的CDN知识才能真正把多家CDN服务商的资源用好
- 随之而来的运维成本的上升
- 从CDN售后服务角度来说,使用多家CDN服务商之后,客户会从之前的只需联系一家CDN服务商变为直接面对多家不同的CDN售后服务
- 从合同签订来说,会变成需要同时维护和多家CDN服务商的合约、账单,同时因为CDN用量分散,会带来议价能力的降低
下面我们就来看看Azure China CDN服务是如何来解决前面所述问题的。Azure China CDN服务是一种融合CDN服务,后台整合多家国内优质CDN服务,对外提供统一的管理、计费和支持接口:
- 统一管理:提供统一的管理、监控和运维管理门户,客户无需使用不同CDN厂商的自有界面
- 统一计费:提供统一计费模型、费率,用多少付多少
- 统一支持:提供统一的技术支持接口,统一协调多家CDN服务商
什么是Smart Routing
作为一个融合CDN服务,Azure China CDN服务最根本的价值主张就是整合国内多家优质CDN服务商的资源,为客户提供最优节点。要做到这一点,就不能只是简单的把某一家CDN资源直接提供给Azure的客户来使用。而是需要有一套智能的监控调度机制来为每个客户选出最适合的CDN服务节点。Smart Routing就是这一核心功能的总称。
访问方式
启用了Smart Routing功能之后,CDN资源的访问方式如下图所示:简单来说,因为启用了Smart
Routing功能,同一个CDN加速域名在Azure China CDN平台上,后端是同时配置了(多CNAME机制)多家CDN服务厂商。当访问者具体访问某个文件时,Azure China CDN平台会根据Smart Routing所配置的调度策略来动态选择一家CDN服务商的资源,最终响应访问者的访问请求。
调度策略
Azure China CDN的Smart Routing功能目前可以支持如下四种调度方式:
- 基本的Failover模式,用以解决高可用问题
- 加权轮询调度 (Weighted Round Robin),用以解决基本的负载均衡问题
- 基于地理位置的负载均衡调度
- 基于访问性能的负责均衡调度
后续更新
如本文开头所讲,目前Smart Routing采用的是渐进上线方式,逐步分批开放给所有Azure China CDN用户。这个过程对客户来说是完全透明的,客户不需要做任何的设置改动。同时,目前上线的Smart Routing功能默认配置为 “基本的Failover + 基于访问性能的负载均衡”这种调度策略,后续会逐渐开放所有的调度策略供客户选择。敬请期待Azure China CDN产品组的后续更新!