答案 0 :(得分:2)
最简单的可能是确保静态资产(图像,javascript和CSS,通常)可以轻松缓存和移动。我们使用一个特殊的模板函数来完成此操作,该函数接受相对URL(类似/images/graphics/someimage.png
)并将其转换为指向我们的静态服务器(http://static.example.com/images/graphics/someimage.png
)的链接。
当你有一个执行此操作的功能,并使用它来生成所有静态资产URL时,稍后将这些资产移动到不同的服务器,甚至根据地理位置移动到不同的服务器将是微不足道的。
答案 1 :(得分:1)
当您说CDN时,您是否意味着内容分发网络(如Akamai)?如果是这样,那么答案是“它取决于”。
这取决于您使用的服务:每项服务都具有不同的功能。 Akamai有一个完整的API,你可以做各种有趣的东西。有些人只在东部和地区使用服务器进行地理DNS技巧。西海岸。有些介于两者之间。
这还取决于您要使用该服务的内容。只是图像托管?文件下载?流媒体内容?
答案 2 :(得分:0)
您还可以缓存动态页面,这可以为性能带来巨大好处,但请记住,您无法在其中缓存任何包含个性化数据的页面。
E.g。假设您每小时更新一次新闻页面,您可以使用10分钟的TTL(生存时间)将其缓存在CDN上。这样可以加快页面时间并减少服务器负载。
但是,如果您有任何个性化数据,例如横幅中的“欢迎,用户名”,则您无法再缓存整个页面,因为它会向访问者提供错误的数据。
避免这种情况的一种方法是将个性化数据放在不同文件夹中的单独页面片段中,然后通过AJAX加载它们,确保永远不会缓存此文件夹。