我将谷歌 CDN 与谷歌负载均衡器一起使用,它有一些后端服务,每个服务都有不同的谷歌 CDN 设置,如下所示。
service A: google CDN disabled (API server)
service B: google CDN enabled, 1day (Cache-Control: public, max-age=86400), cache-key: full URL
service C: google CDN enabled, 1year (Cache-Control: public, max-age=31536000), cache-key: full URL
问题是,service C
从谷歌负载均衡器得到请求,昨天已经请求了哪个 URL 并正确处理。( status 200, with Cache-Control header and Content-Length
)
它并不总是发生,例如,在从我们的服务器返回响应之后,谷歌负载均衡器返回响应而不进行查询。但大约一天过去了,他们又开始问了。请注意,我提出了几乎相同的地理位置。
经过一番谷歌搜索后,我已经在 SO 上找到了以下链接,上面说谷歌 CDN 积极驱逐其内容(总共只有 10MB 缓存大小), https://stackoverflow.com/a/54031267/1982282
谷歌 CDN 不保证尊重 max-age。 Google Cloud CDN 忽略超过 3600 的 max-age
但上述问题的原因是,真的是这种激进的驱逐吗?
实际上,我们的服务器仍处于开发阶段,因此没有大量流量,总缓存大小也只有 10MB 左右。但以我个人的感觉,我无法相信谷歌 CDN 会如此努力地驱逐内容(在 1 天内,10MB+ 大小)。
任何人都可以分享您关于谷歌 CDN 驱逐率的经验吗?
问候,