我必须支持使用REST API但仅限POST的遗留系统。正文包含需要在服务器上解析以了解资源的XML数据。
由于遗留应用程序无法更改,我们无法向其添加缓存,即Redis。因此,为了加快速度,我正在考虑在负载均衡器和Web服务器之间放置一个反向代理缓存,如Varnish。但这需要解析请求体以查看XML路径。
是否有任何第三方开源模块可以执行此操作,并且不需要太多重写。
清漆模块
Nginx + Lua + XML解析
最后一个选项是编写一个充当缓存的应用程序(使用Redis的自定义代码),如果遗漏,查询将被传递到Web服务器。
答案 0 :(得分:0)
我找到了一种使用Nginx proxy_cache进行缓存的方法,它将密钥保存在磁盘上而不是RAM中。示例nginx.conf
proxy_cache_key $http_x_custom_header;
proxy_cache_revalidate off;
proxy_cache_methods POST;
proxy_cache_valid 200 1m;
整个HTTP POST响应正文缓存在proxy_cache中。