我使用 Amazon S3 存储桶、云缓存和快速缓存。结合起来,它们可以非常快速地提供您要求的任何形状、大小或其他转换的图像。但是,它们以不同的速率传播清除请求。
这是级联安排:
- 当请求图像时,Fastly 会尝试从其缓存中提供该图像。
- 如果图像不存在,Fastly 会向 Cloudinary 请求该图像。
- Cloudinary 尝试从其缓存中提供图像服务。
- 如果图像不存在,Cloudinary 会检查请求的图像是否具有相关的转换参数。
- 找到转换参数后,Cloudinary 尝试在其缓存中找到图像的未转换版本以应用转换。
- 如果未转换的图像不存在,Cloudinary 将从 S3 存储桶请求它。
- Cloudinary 然后应用转换并缓存原始版本和转换后的版本。
- Cloudinary 将转换后的图像提供给 Fastly。
- 快速缓存转换后的图像并提供服务。
我想从我的所有服务中完全删除一个图像和该图像的所有转换版本(衍生物)。Cloudinary 需要一个小时将 DELETE 请求传播到其所有服务器。
我看到最好先在 S3 中删除,然后 Cloudinary,最后快速清除。但是,如何最好地将清除呼叫延迟一个小时?在这种情况下,从编程上讲,最佳实践是什么?