如何在 Traefik Ingress Controller 后面的微服务中添加缓存?

how to add caching to Microservices behind Traefik Ingress Controller?

我使用基于 Docker 的设置和 nginx 反向代理转发到 Dockerized 微服务有一段时间了。现在我正在评估切换到基于 Kubernetes 的方法和 Traefik Ingress Controller。

Ingress Controller 提供了所有需要的功能,除了一个:It doesn't support caching

微服务在提供静态资源时性能不是很好,我更愿意减少负载,以便它们可以专注于它们的实际目的,处理动态 REST要求。

有什么方法可以为基于 Traefik 的 Ingress 添加缓存支持吗?由于有许多小型服务,如果可能的话,我不希望为每个微服务启动一个专用的 Pod。此外,如果可能的话,我们将不胜感激基于配置的方法(也许使用自定义 Operator?)。

缓存功能仍在 Traefik 项目的愿望清单上。
作为一种解决方法,请检查 this 将 NGINX 放在前面进行缓存的场景。
我没有看到在 Traefik Ingress Controller 前面应用相同想法的任何禁忌症。

这是一项企业功能。您必须购买 Traefik 企业版才能获得缓存功能。

遇到了这个问题,虽然我们仍在测试它,显然缓存最终直接在 traeffik 中实现,包括按路径选择性,这是我们主要关心的问题。不确定 limitations/performance 虽然我读过只有每个路由器分配的内存当前可用作存储:

https://github.com/traefik/traefik/issues/878