06-内容分发网络
9.2.3 内容分发网络
内容分发网络(CDN)是用来尽可能快地传输静态文件的网络。它可以简单到一台Apache 服务器,和应用服务器相辅相成,或者是遍及世界各地的有许多数据中心的基础设施。不管怎样,设置单独的静态文件服务器是有意义的,以便不会因提供静态文件服务而给应用服务器增加负担。Node.js特别不适合用来传输大的静态内容文件(图片、CSS、JavaScript),因为这种用法不能利用Node.js的异步本质。使用包含prefork模块的Apache更合适。
因为我们对Apache较为精通,在准备扩大网站规模之前,可以拼凑自己的“一台服务器的CDN”;否则,可以使用很多第三方的CDN。Amazon、Akamai和Edgecast是三个大平台。Amazon有Cloudfront产品,Akamai和Edgecast通过其他公司(像Rackspace、Distribution Cloud 等)来转卖服务。实际上,就因为有这么多的CDN 公司,才会有致力于“选择正确的提供商”的网站:www.cdnplanet.com。
使用分布全球的CDN的另外一个好处是,内容由离我们最近的服务器提供,从而使得传输文件花费的时间大大缩短。当我们考虑性能效益的时候,使用CDN通常是显而易见的选择。