-1

我使用 Amazon S3 存储桶、云缓存和快速缓存。结合起来,它们可以非常快速地提供您要求的任何形状、大小或其他转换的图像。但是,它们以不同的速率传播清除请求。

这是级联安排:

  • 当请求图像时,Fastly 会尝试从其缓存中提供该图像。
  • 如果图像不存在,Fastly 会向 Cloudinary 请求该图像。
  • Cloudinary 尝试从其缓存中提供图像服务。
  • 如果图像不存在,Cloudinary 会检查请求的图像是否具有相关的转换参数。
  • 找到转换参数后,Cloudinary 尝试在其缓存中找到图像的未转换版本以应用转换。
  • 如果未转换的图像不存在,Cloudinary 将从 S3 存储桶请求它。
  • Cloudinary 然后应用转换并缓存原始版本和转换后的版本。
  • Cloudinary 将转换后的图像提供给 Fastly。
  • 快速缓存转换后的图像并提供服务。

我想从我的所有服务中完全删除一个图像和该图像的所有转换版本(衍生物)。Cloudinary 需要一个小时将 DELETE 请求传播到其所有服务器。

我看到最好先在 S3 中删除,然后 Cloudinary,最后快速清除。但是,如何最好地将清除呼叫延迟一个小时?在这种情况下,从编程上讲,最佳实践是什么?

4

1 回答 1

0

作为其解决方案的一部分,Cloudinary 通过 Akamai 提供 CDN 服务(也可以与其他 CDN 集成)。

图像在初始交付后缓存在 CDN 上,直到请求清除。传播到所有 CDN 节点需要时间,可能持续长达 1 小时,但通常只需要几分钟。

在两个 CDN 层之间进行协调是一项相当复杂的任务,因此最佳实践是避免在 Cloudinary 之前使用您自己的 CDN,尤其是在通常需要失效的情况下。

于 2016-08-17T12:51:08.057 回答