由于之前国际线路抽风比较严重(虽然反映了以后这几天看来好了很多),因此最后决定给Blog加了一个国内的CDN,然后就被ZWT吐槽居然选择用CDN,于是就来说说这个Webluker吧。
其实吧,大概从今年2月底就开始接触Webluker,并且一直在某网站(你懂得)上进行使用,效果很好。
其实对于CDN在很多人眼里概念只是网络加速的,觉得不管静态内容,还是动态内容,但凡用了CDN以后就能利用他遍布的节点提高网站访问速度,而且目前大多数所谓的CDN,基本都是简单的基于缓存服务(Vanish、Squid之类的)+很多节点来实现的。但其实真正对于CDN,并不是怎么简单得一概而论的。CDN全称Content Delivery Network(内容分发网络),而不是“网络加速”,当然,CDN的目的是网络加速。
去看看真正正规的CDN服务商就能注意到,CDN被区分成很多方面,静态内容加速、动态内容加速,音视频内容加速,而这些其实是有很大区别的,当然,音视频内容加速小网站也不好说太多,重点就是来说前两者。首先是最简单的静态内容加速,很简单,就是缓存服务器访问一次源服务器,把静态内容抓取缓存下载,可能预设一定的缓存期,这样,每次用户访问网页的时候就不读源服务器,直接查看缓存的内容即可。而对于动态内容加速,其实一些技术优化方面相对复杂,但一般我们能看到的表现就是每次请求离自己最近的CDN服务器后,服务器向源服务器获取信息,然后再把信息返回给用户。当然,对于一些大型门户或者CDN服务商,他们可能会在过程中做很多优化,比如动态内容只有在更新后才会请求CDN服务器抓取更新之类的,存在一些逆向交互的设定。所以这就是我并不喜欢那些只是部署一堆的Squid服务器,然后以类似反向代理的方式就自称CDN的服务商,当然,更不喜欢说所谓不分青红皂白就用CDN,以为用了就能提速的说法,虽然说反向代理+缓存就可以是最基本的CDN服务了,但实际上这个也许对于静态内容,效果一样能很好,但是对于动态交互比较多的网站,尤其还设计到大量POST数据的网站,实际上用CDN很可能会影响网站的交互效果。所以对于CDN的应用可能是必要的,但不能滥用,做好静态资源隔离后对静态内容进行CDN是一个很好的选择
那么现在说一下我为啥喜欢Webluker。虽然他也只是一个免费的面向大众的服务,存在很多不足,但是对于我做小网站他是足够的了
Webluker是一个很灵活的CDN,首先他预置了一些很聪明的设定来区别动静态信息,同时,他还接受来自Web服务器提供的缓存设定,而不是一概使用统一的缓存设定,在Web程序和Web Server中可以通过合理的设置Cache-Control和Date来灵活的控制缓存策略和缓存时间。而在Webluker的后台菜单CDN设置中还提供了针对目录和扩展名的自定义缓存策略,可以更为灵活的控制缓存设置。
同时,Webluker后台提供了缓存内容刷新的功能,可以在网站静态内容更新后及时通知缓存服务器更新,这是一般缓存服务器标配的功能了,不过如果不是自己架设,很多服务商并不把这个功能开放给用户
当然,作为Webluker发展过程中一直不断改进的CDN性能和流量统计功能,也是一个很棒的辅助工具,他可以用来检测CDN的运行,同时可以了解源是否出现问题,或者是否策略设置错误,导致一些回源流量过多,以减少因为加了CDN,反而产生源流量过大的问题。而这些功能对于很多商业的CDN,都不一定提供,或者开放修改的,当然很多商业化CDN可以和技术沟通定制更为人性的策略,以及缓存更新的通信接口。不过免费CDN能做到这么多已经很可贵了。
目前Webluker只有国内节点,而且节点也并不很多,而且有国内网络的通病,需要验证备案。不过实际使用还是很给力的,Uptime也一直很高,有的时候静态内容被缓存后,就算站源服务器挂了一段时间,网站页面还是能正常访问到的,当然,如果CDN服务器维护升级,或者挂了就杯具了哈。在实际应用中还是相当给力的~嗯,就是这样 TvT
不过还是那句话,CDN不是万精油,不是全站都用了CDN就好,就能提速,只有合理使用才能事半功倍 ^_^