速致:做一个靠谱的 “隐形快递员”
网站流量越大,就越能意识到 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 网络环境不一样,上面技术的挑战还是会有很多的。”