使用代理缓存昂贵的传出HTTP请求?

时间:2016-05-19 21:40:54

标签: http caching nginx proxy varnish

我使用的是相当昂贵的外部API(每次请求都有成本),这使得使用它的测试代码变得不切实际。

在一个理想的世界中,我会有一个代理服务器,我会做我的请求,它会无限期地缓存每个请求(基于URL +查询字符串),并且当我明确地使给定的缓存无效时,只触及实际的API服务器请求。是否有这样的服务器现成的配置最少?

我目前的堆栈是Node.js,Docker,Nginx,PostgreSQL& AWS S3(非短暂状态)。我认为清漆可能会达到我的需要,但我不确定。

1 个答案:

答案 0 :(得分:0)

清漆可以而且将会实现这一目标,但前提是你要建立一个测试'返回您可以使用的类似数据的API。如果你必须省钱,最好的选择是查询API几次以获得不同的典型响应。一旦你知道了它的期望,就可以创建一些虚拟API,甚至可以用来模仿它的一些静态JSON或XML文件。此时,您可以测试Varnish和Cache失效,并且我非常乐意为您提供语法,给出一些代码示例。