【发布时间】:2021-07-22 14:10:08
【问题描述】:
用户正在向我发送信息请求,有时这些信息是个性化的,有时是所有人共有的。当它对所有人来说都很常见时,我希望 CDN 缓存答案。我通过查询参数区分用户。
问题 - 问题是我希望他们停止使用缓存,并且每个人都可以获取他们的个性化内容。
我认为,如果我在缓存标志关闭 (max-age = 0) 的情况下发送响应,用户的请求将不会使用缓存,请求就会来找我,我会给他们个性化的答案。 但在这种情况下,CDN 会进行折叠转发,所有用户继续得到非个性化的答案。
我没有找到禁用折叠转发的方法,也找不到在客户开始使用缓存后继续为客户提供个人服务的方法。
有什么想法吗?
【问题讨论】:
-
我非常怀疑折叠转发是这里的问题。在缓存未命中的情况下,请求折叠会将并发请求合并到您的源。如果您的问题是由折叠转发引起的,那么它只会发生在并发请求中。我认为正在发生的事情是您的响应被缓存在边缘,并且后续请求永远不会到达您的来源,因为它们是从 Cloudfront 缓存提供的。