CDN——从内容加速到节省流量费用

百家 作者:又拍云 2018-06-27 11:41:14

早年,我还是学生的时候,时常会鼓捣自己的个人网站,其中最困扰我的问题就是源站服务器易崩溃。作为学生,一方面我没有足够的钱购买高质量的服务器,另一方面一年的流量费用算下来也挺贵的,要花掉我不少的生活费。

同样用户基数大的视频网站每天会面临数据请求、传输等方面的问题,通过正确的方法降低网站流量也可以让网站节省成本。

那么到底有没有好的办法可以帮助我们减少网站流量开支,降低源站服务器的压力?


价格更低的 CDN

这几年CDN价格越来越低,让我找到了完美的解决方法。一般来说,网站开启CDN加速之后,会将网站内容缓存到CDN节点服务器上,这个时候如果有访问的话,就会直接从CDN节点服务器返回网站数据,不需要再从源站调取数据。

这个方法解决了源站老是崩溃的问题,同时CDN流量价格比源站流量价格低很多,只要设置得当,可以比较不错的减少网站在流量上的开支。


技术含量更高的 CDN

除了价格降低之外,CDN的技术含量这几年也越来越高,本文就以又拍云CDN的Brotli压缩算法为例,讲讲它是如何做到减少流量消耗的。

Google认为互联网用户的时间是宝贵,尤其不应该浪费在无用的网页加载中,因此推出了无损压缩算法Brotli。Brotli通过变种的LZ77算法、Huffman编码以及二阶文本建模等方式进行数据压缩。

更高的压缩率

△ 图片来自网络

通过上图,我们可以看到Brotli与常用的压缩算法bzip2、gzip、lzma2对比,压缩比上有明显的优势。

更快的解压缩速度

对于现在的互联网来说,最重要的性能可能是解压缩速度。即使在浏览器和移动设备等资源有限的情况下,客户端能够快速解压,有更良好的用户体验是现在所追求的。而在解压缩速度上,Brotli依旧表现出色。

△ 图片来自网络

图中我们看到Brotli的解压缩速度与Gzip非常相似,但是远远超出bzip2和lzma2,尽管它们相较于Gzip有更好的压缩比,但是它们解压缩的速度要慢几倍,和Brotli一比,他们的优势消失殆尽。

与现在的常用压缩算法比,Brotli的优势尽显无疑。与Gzip相比在Web资源压缩方面Brotli的压缩性能提升了17%-25%。当Brotli压缩级别为1时,压缩率比Gzip压缩最高等级为9时还要高。

浏览器兼容

Brotli算法凭借它优异的压缩性能,在行业内迅速普及,到目前为止,除了IE和Opera Mini之外,几乎所有的主流浏览器都已支持Brotli算法。

△ Brotli 算法支持情况

随着CDN技术的不断成熟,合理利用CDN可以大大降低源站服务器遇到的并发压力,减少源站流量,节省开支。同时现在CDN的防D手段也在发展,我们也不用担心因为DDoS攻击而“破产”(当年因为这个一直不敢用CDN,哈哈)。

关于如何使用Brotli压缩算法,这个不用操心。又拍云CDN默认支持Brotli压缩算法,只需要接入CDN就可以使用高性能的Web资源压缩算法了。由于并非所有的浏览器都支持Brotli算法,所以在CDN边缘节点,又拍云会同时提供通过Brotli算法压缩的文件和原始资源文件。当客户端不支持Brotli算法时,又拍云会选择提供Gzip算法来压缩原始文件并提供给客户端。当客户端同时支持两种算法时,又拍云CDN会优先响应br版本文件。

借助压缩效率更高的Brotli算法,对比Gzip压缩CDN流量再减少20%,在节约流量成本的同时,让用户有更好的使用体验,的确是一个不错的选择。

参考:

https://www.opencpu.org/posts/brotli-benchmarks

关注公众号:拾黑(shiheibook)了解更多

[广告]赞助链接:

四季很好,只要有你,文娱排行榜:https://www.yaopaiming.com/
让资讯触达的更精准有趣:https://www.0xu.cn/

公众号 关注网络尖刀微信公众号
随时掌握互联网精彩
赞助链接