第一章 创建分布式架构的重要因素
一、CDN加速静态文件访问
CDN是Content Delivery Network的简称,即“内容分发网络”的意思,一般是指网站加速或用户下载速度加速。
简单来说CDN相当于一个中间代理,原来我们请求百度时,请求会直接发送到百度的服务器,加入请求者在大连,但百度的服务器在北京,这样的话请求和响应都会受到距离的影响而变得慢一些,但有了CDN之后,请求先发到距离请求IP定位最近的CDN服务器上,该服务器缓存了百度页面的一些静态文件,比如CSS、JS、html、图片等,这样对用户来说,获取这些静态资源就比较近了,速度也就更快。至于动态的资源,因为是可变的,所以无法通过缓存的方式存储在CDN服务器上,仍然需要通过CDN去请求对应的服务器获取资源,所以CDN加速仅局限于静态资源。
在分布式系统中,CDN可以一定程度的减轻服务器的IO压力,提高响应速度,而且在使用CDN后用户的请求发送到CDN服务器上,可以避免用户直接访问源服务器,从而可以一定程度上提高系统的安全性,降低被黑客攻击的可能性,类似于保护代理。
但CDN的架设成本较高,如果需要提高服务效率和质量,需要在全国各地设有服务