1

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

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

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

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

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

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

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

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

谢谢

4

1 回答 1

-1

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

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

于 2020-06-30T14:06:19.847 回答