速致:做一个靠谱的“隐形快递员”
网站流量越大,就越能意识到 CDN 服务的重要性。如果没有它在用户与服务器之间充当缓冲,那么一方面用户难以访问网站,另一方面网站会被太高的流量给挤垮。
有人称 CDN 服务是“隐形的快递员”,很形象。如果我们假设原网站的资料所存放的服务器视为发货地,而用户的电脑视为收货地,那么 CDN 就是这中间负责内容输送的“快递员”。它的表现好坏,有时候决定了用户对一家网站的评价,就好像当下快递送货的速度快慢,也同样影响着我们对一家电商网站的评价。
速致是我最近在广州发现的一家 CDN 服务提供商,技术上不乏可圈可点之处。它由创始人周俭于 2011 年创立,现在积累了有 ZAKER、读览天下、布卡漫画、有米网络等对网络流量较大,对网络速度敏感的客户。总结这几年的耕耘,周俭说,“CDN 看上去很简单,但要做深和做精,很难。”
***
我曾经请教我们的 CTO,看他如何评价速致这个 CDN 服务。按照他的话说,CDN 的基础功能只有能用和不能用两种区别,而速致比较好的是,它不光管服务能用,还管服务好用不好用。
从我的了解来看,速度与稳定是 CDN 服务质量评价的两个标准,速度是用户打开网页的速度,稳定则是指网站不会发生无法访问,网页加载速度突然变慢的情况。
负责技术的赖立维解释,用户感觉网页打开的速度快慢,主要和三个参数相关:DNS 查询时间、连接建立时间、内容下载时间。他说,“这三项参数中,任意有一项慢了,都有可能让最终用户感觉到‘卡’或‘慢’。”
提高 CDN 服务质量其中一个方式,就是尽量扩大机房布点的数量和范围。速致如今在国内各个省份、香港、新加坡、美国(东西岸)、英国等地,以及主要的运营商都有布点,这确保用户无论何地访问网站,速度均能保持较高的水平。
不过,仅仅依靠扩大机房来应付流量压力,这样的方式太单一了。为了能够弹性的面对未来突然爆发的流量增长情况,速致在服务器系统的底层做了许多优化。比如说,通过使用更高效的算法提高 TCP 单线程下载的速度,大幅提升网络包传输的稳定性,降低连接建立时间和内容下载时间。
***
CDN 服务当中,DNS 查询是需要攻克的“老大难”问题。
速致称自己的 DNS 查询技术是“智能 DNS 查询技术”,它的目的是保证每名网络用户在打开客户网站的时候,能够访问最近的节点。赖立维说,“让 DNS 查询智能起来,一个准确的 IP 库就是最重要的(通过 IP 可以判断访问者的归属地)。对于 IP 库,在我们的产品开发开始时就非常的重视。最初一开始我们是通过购买商业版 IP 库来进行调度,后来发现国外的商业 IP 库对中国的 IP 判断并不准确,最终走上自己研发的‘不归路’。”
速致的办公室,现在在一个民居里,正对着摄像头的是赖立维,图片左方是测试用的服务器
为了得到准确的 IP 库,速致团队首先扫描 IP 段 whois信息,结合已有的 IP 库信息,得到相对准确的 IP 值;然后利用自身 CDN 服务器节点分布多的优势,再对所得到的 IP 值进行纠偏,从而得到一个针对国内用户,较为准确的 IP 库。这能够帮助速致判断用户的位置,从而自动安排一个距离最近的服务器节点与之相连。
另外,最近两个月,团队通过技术攻关,基本实现全球统一 IP 段进行 DNS 查询,都能够得到最佳的查询速度,原理和 Google 所提供的免费 DNS 服务(8.8.8.8)类似。
***
速致的客户主要以移动互联网里的公司为主,比如说 ZAKER 和布卡漫画,均是典型的代表。在周俭看来,它们的崛起离不开 3G 网络的普及。他说,“如果是 2G 网络,这只够用户发发文字,你看以前的手机,哪里敢发图片。然后 3G 到来了,我们就进入了一个读图的时代。”
为了适应这些客户的需求,速致在图片优化与资源防盗链方面也有独特的心得。赖立维解释,“针对用户对图片缩放的需求,我们的 CDN 服务器提供了最便利的方法,让相同的 URL 可以获取到不同分辨率的相应图片。功能实现的中心思想很简单,只需要在请求 URL 中加入表示高和宽的特点 GET 参数(cdnzz_h 和 cdnzz_w),服务器可以主动处理并返回指定缩放分辨率大小的图片。”
“通过让 CDN 服务器对图片处理和转换,让图片在可以接受的程度下变的更小,从而可以更快的分发出去。例如,通过检测请求访问的 User-Agent 判断到该客户端支持 WebP 格式的显示,服务器会主动对图片资源进行转换并返回给用户。”WebP 是 Google 所倡导的图片格式,相同大小的情况下,它的体积要比 PNG 格式小 45%。显然,用户在打开 ZAKER 或布卡漫画浏览的时候,图片加载的速度会更快,而对于速致自己来说,也节约了带宽。
资源盗链也是这些客户头痛的问题。在这方面速致提供了 SDK,让客户整合他们的防盗链机制,结果为客户节约了不少带宽。赖立维以一名客户为例,在未加入防盗链机制之前,1 天要跑 1Gbps 的带宽,而整合了防盗链机制后,现在每天大概只跑 100Mbps 的带宽。
***
周俭认为,CDN 就是一个“技术立本”的领域,因此在开发产品的时候,十分重视技术研发方面的投入。从上文也能看到,速致在 DNS 查询、图片优化、资源防盗链等方面拥有自己研发的特色技术。
在创始人的要求下,速致团队开发各种自动化的工具,来帮助处理客户不同的需求,这最终让速致拥有一定的灵活性,在突然爆发的需求面前,依然从容。
今年 11 月份,速致每天需要处理的数据提高了几倍,从一天不超过 10Gbps 到超过 20Gpbs。多亏平时在技术方面的重视,速致迅速采取了措施,对多项自动化运维机制的改进,包括定制专用安装 ISO 使服务器系统安装自动化等等,来保证快速部署机器。他们还对现在的数据分析以及功能进行重构,最终用了两个星期来平稳过渡。展现了团队在这方面的技术实力。
对于未来,周俭认为速致的服务立足于移动互联网的发展。他说,“移动网络环境跟pc网络环境不一样,上面技术的挑战还是会有很多的。”