CDN是缓存查询结果的合适解决方案吗?

时间:2013-01-29 07:53:43

标签: ajax caching scalability cdn

我正在开发一个小型搜索引擎,我试图找出如何缓存查询结果。 这些结果是简单的JSON文本,使用ajax请求进行检索。

将结果存储在内存中不是一种选择,我可以看到剩下的两个选项:

  • 使用nosql数据库检索缓存结果。
  • 将结果存储在CDN上并重定向http请求(307 - 临时重定向),以防结果已缓存。

但是,我对CDN没有多少经验,并且想知道是否将它用于大量临时小文本文件是一种很好的做法。 在ajax请求上使用重定向是一个好习惯吗? CDN是缓存小文本文件的适当解决方案吗?

1 个答案:

答案 0 :(得分:0)

简答:不。

Long:通常,您将CDN用于大型静态文件,您希望CDN在全球范围内镜像,以便在用户请求时接近用户。如果您的数据发生了很大变化,那么将更改传播到CDN的所有节点总是需要一段时间,同时用户会得到不一致的结果(这可能对您来说也许并不重要)。

另外,为了避免更高的延迟,我不会使用HTTP重定向(您告诉客户端向其他地方发出第二个请求),而是确定是从高速缓存获取数据还是从终端获取引擎(例如,使用caching proxy或负载均衡器),然后直接将其提供给客户端。