【问题标题】:Should I manage my cache control headers in each app or in the api gateway?我应该在每个应用程序中还是在 api 网关中管理我的缓存控制标头?
【发布时间】:2019-08-19 01:49:20
【问题描述】:

这是一个设计/架构最佳实践问题。

有人要求我在 API 网关前面放置一个 CDN。我对 CDN 很陌生。

在响应中提供缓存指令并指示 CDN 进行缓存。

从我的角度来看,我有两个选择。

  1. 我的 api 网关支持标头注入策略。在此添加缓存控制策略,由开发者根据他们对 API 工作原理的了解进行配置。

  2. 要求网关后面的每个应用程序实现添加它们的缓存控制标头。

鉴于上述选项,我正在寻找有关如何最好地实施这些要求的意见。

我最初的想法是,缓存控制可能最好通过配置在网关处进行管理。即,在 CD 过程中,开发人员根据他们对 api 工作原理的了解来配置要部署的 api 策略配置文件。

谢谢

【问题讨论】:

    标签: cdn api-gateway 3scale


    【解决方案1】:

    我的建议是遵循您已经倾向于的内容,因此让 API 开发人员在 API 网关上配置缓存控制策略,因为他们现在可能最好地了解后端是什么样的,以及需要和不需要缓存哪些信息.

    我还要补充一点,对于 3scale,API 网关本身很快就会包含一些缓存功能 (https://github.com/3scale/APIcast/tree/master/gateway/src/apicast/policy/content_caching),尽管如果流量在地理上没有路由到多个分布式网关,您可能仍希望采用 CDN 缓存功能。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-01-10
      • 2021-10-05
      • 1970-01-01
      • 2019-08-28
      • 2014-09-22
      • 2012-04-05
      • 2011-04-07
      相关资源
      最近更新 更多