1

我有一个带有两个后端服务的负载均衡器设置。LB 上的 URL 映射如下所示:

site.com -> backend-blue
test.site.com -> backend-green

两种后端服务都启用了 CDN。我可以看到后端蓝色服务的缓存命中率约为 96%。然后我在 LB 上切换了后端服务:

site.com -> backend-green
test.site.com -> backend.blue

后端绿色的缓存命中率变为 60%,我开始收到 502 错误。

缓存键保持不变,所以我预计会看到相同的缓存命中率在 95% 左右。

为什么缓存条目已被驱逐,请求通过 LB 而不是由 CDN 提供服务?

4

1 回答 1

1

CDN 缓存应用于 backendService 级别。https://cloud.google.com/compute/docs/reference/rest/v1/backendServices#BackendService.FIELDS.enable_cdn

当您将流量切换到绿色后端时,它的缓存是空的。

要保留缓存,不要修改 URL 映射,而是将主 backendService 更改为使用绿色 instanceGroup。https://cloud.google.com/compute/docs/reference/rest/v1/backendServices#BackendService.FIELDS.backend

于 2018-03-19T16:46:16.847 回答