代理缓存

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

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

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

打开缓存。

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

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

我们也可以选择配置:

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

另外,我们还可以开启:

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

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

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

代理缓存区

应用使用 全局配置 > 通用 > 代理 中配置的全局缓存存储。启用多个代理缓存区时,Edge 以各缓存区最大容量作为权重使用一致性哈希选择缓存区。

从负载均衡中排除 是代理缓存区的排除控制。选中的路径不再参与负载均衡、不再接收新缓存文件,其容量也不再参与分配,但已有文件不会删除。