我是一名新手程序员,正在建立一家我(自然)希望能创造大量流量的创业公司。我在 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 个对象出现在页面上。通过单击一个过滤器,用户最终可能会在 /some_url/ 处得到 10 个不同的对象)
高流量、内容丰富的网站的最佳做法是什么?
我怎样才能了解这一点?我所看到的每一个地方似乎都理所当然地认为一些我还没有作为我自己基础的一部分的基础知识。
我不确定我在问正确的问题。只是觉得很失落。我现在已经构建了整个站点的 95%,并认为我只是在解决细节问题,但缓存似乎是另一项重大任务。任何指导/建议/鼓励将不胜感激!