【发布时间】:2011-11-30 21:00:44
【问题描述】:
我是一名新手程序员,正在创建一家我(自然)希望能够创造大量流量的创业公司。我在 Amazon EC2 上的 dotcloud 上托管我的 django 项目。我有一些流媒体(虽然是 Http,而不是 rmtp),所以 dotcloud 的人建议我使用 CDN。我还使用 Amazon S3 进行存储,因此决定使用 Amazon CloudFront 作为我的 CDN。
现在是我需要将注意力转向缓存的时候了,但我迷失了方向。我对这个概念完全陌生。我的全部知识都来自我刚刚阅读的一个教程 (http://www.mnot.net/cache_docs/) 和一个令人困惑的周末花在咨询谷歌上。最令人不安的是,我什至不确定我需要为我的网站做些什么。
CDN 和代理服务器有什么区别?
我是否可能想要使用缓存服务(例如 memcached、redis)、CDN (CloudFront) 和代理服务器 (squid)?
我们的网站是数据库驱动的,并针对用户位置生成动态生成的列表。这样的网站可以缓存吗? (列表本身可以通过 AJAX 过滤,因此 URL 可能保持不变,但产生的结果却大不相同。例如,example.com/some_url/ 可能会生成一个包含 40 个对象的列表,但只有 10 个对象出现在页面上。通过单击一个过滤器,用户最终可能会得到 10 个不同的对象,而仍然在 /some_url/)
高流量、内容丰富的网站的最佳做法是什么?
我如何才能了解这一点?所见之处似乎都理所当然地认为一些基础知识是我自己的基础还没有的。
我不确定我问的问题是否正确。只是觉得很失落。我现在已经构建了整个站点的 95%,并认为我只是在解决细节问题,但缓存似乎是另一项重大任务。任何指导/建议/鼓励将不胜感激!
【问题讨论】:
标签: caching cdn squid amazon-cloudfront proxy-server