【问题标题】:Caching REST XML Responses缓存 REST XML 响应
【发布时间】:2018-10-10 21:12:06
【问题描述】:

我必须支持使用 REST API 但仅 POST 的旧系统。正文包含需要在服务器上解析以理解资源的 XML 数据。

由于遗留应用程序无法更改,我们无法为其添加缓存,即 Redis。因此,为了加快速度,我正在考虑在负载均衡器和 Web 服务器之间放置一个反向代理缓存,例如 Varnish。但这需要解析请求正文以查看 XML 路径。

是否有任何第三方开源模块可以做到这一点并且不需要太多重写。

清漆模块
Nginx + Lua + XML 解析

最后一个选项是编写一个充当缓存的应用程序(使用 Redis 的自定义代码),如果有遗漏,查询将被传递到 Web 服务器。

【问题讨论】:

  • 解析POST响应体还是请求体?

标签: nginx caching reverse-proxy varnish varnish-vcl


【解决方案1】:

我找到了一种使用 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 中。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-01-27
    • 2021-04-15
    • 2018-12-08
    • 1970-01-01
    • 2018-09-12
    • 2017-09-03
    • 1970-01-01
    • 2013-07-19
    相关资源
    最近更新 更多