我正在使用一个相当昂贵的外部 API(每个请求都有成本),这使得使用它的测试代码不切实际。
在理想的世界中,我将有一个代理服务器,我将针对它无限期地缓存每个请求(基于 URL + 查询字符串),并且仅在我明确地使给定请求的缓存无效时才访问实际的 API 服务器。这样的服务器是否可以用最少的配置现成?
我当前的堆栈是 Node.js、Docker、Nginx、PostgreSQL 和 AWS S3(用于非临时状态)。我认为 Varnish 可能会完成我所需要的,但我不确定。
最佳答案
Varnish可以并且将实现这一目标,但前提是您构建了一个“测试” API,该API返回了一些您可以使用的类似数据。如果您必须省钱,最好的选择是几次查询API以获取不同的典型响应。一旦知道了期望的结果,就可以创建某种虚拟API,甚至可以模拟一些静态JSON或XML文件。到那时,您可以测试Varnish和Cache无效,并且我很乐意为您提供语法示例,并提供一些示例代码。