路由是由主机还是由 URL 映射缓存在 Google Cloud CDN 中以用于 HTTP(S) 负载平衡?

Are routes cached by Host or by URL Map in Google Cloud CDN for HTTP(S) Load Balancing?

Google 最近宣布了用于 HTTP(S) 负载平衡的 Cloud CDN (https://cloud.google.com/compute/docs/load-balancing/http/cdn)。

考虑以下设置:

  1. 我有一个带有单个 URL 映射的 HTTP 负载均衡器,它接受所有主机并将它们路由到相同的后端服务
  2. 我从后端服务a.com 和 b.com 提供两个独立的网站
  3. a.com 和 b.com 都在同一路径上提供唯一的可缓存资产,例如/favicon.ico(假设它是 a.com 上的字母 A 图标和 b.com 上的字母 B 图标)

Cloud CDN是否会因为资源在不同的主机上而分别缓存对a.com/favicon.ico和b.com/favicon.ico的请求?或者因为它们都属于同一路径的同一 URL 映射,它们是否会被 Google Cloud CDN 视为相同的请求?

文档不清楚,因为缓存失效引用采用 URL 映射和路径作为参数。在缓存失效中没有提供主机的选项,这使得它看起来好像在缓存资产时不考虑主机:

gcloud alpha compute url-maps invalidate-cache URL_MAP --path PATH

是的,Google Cloud CDN 在缓存时会考虑整个 URL,因此 http://a.example.com/favicon.ico and http://b.example.com/favicon.ico 将被视为单独的资源。