代理缓存

OpenResty Edge 也可以开启缓存功能。如果代理的请求是静态资源,或者更新时效要求不高的资源,则可以配置开启缓存,如果在命中了网关节点缓存的资源,则可以减少重复回上游的次数。

如下,有一个普通的反向代理规则。

我们编辑这条规则(也可以新建的时候,开启缓存,操作是一样的)。

打开缓存。

可以看到好几个配置项,通常不需要修改这些配置。

默认配置下,网关节点只会按照上游响应头中的缓存策略来缓存,也就是上游通过请求响应头来控制在网关节点上是否开启缓存,以及缓存的时间。

我们也可以选择配置:

  1. 默认缓存,也即上游响应中没有缓存相关的响应头时,网关将按照默认配置来缓存
  2. 始终缓存,即使上游响应中,不允许网关缓存,也会按照配置来缓存

另外,我们还可以开启:

  1. 网关集群级别的共享缓存 开启这个功能之后,同一份缓存资源,在同一个网关集群中,只会缓存一份。也即当请求对应的缓存资源不在本机时,网关会通过内网请求到缓存资源存储的网关节点。这样可以比较好的提高缓存资源命中率。

  2. 跨域名缓存 默认配置下,缓存的资源是会跨应用隔离的,也就是默认情况下,缓存 key 中会包含当前请求的域名。开启跨域名缓存之后,缓存 key 中将不会包含请求的域名。

配置好之后,点击保存,就开启缓存了。