![Varnish 可以缓存 S3 对象吗?](https://linux22.com/image/795816/Varnish%20%E5%8F%AF%E4%BB%A5%E7%BC%93%E5%AD%98%20S3%20%E5%AF%B9%E8%B1%A1%E5%90%97%EF%BC%9F.png)
只是一个简单的问题:Varnish 可以缓存 S3 对象吗?还是它仅适用于服务器上的静态文件?
答案1
Varnish 将缓存通过它提供的文件(前提是它已设置这样做)。
典型的设置是让后端服务器提供内容,并将 Varnish 设置为服务器前面的缓存层。这样,Varnish 可以配置为缓存静态和动态内容。
对于 S3 来说,情况有所不同。如果您直接从 S3 提供内容(即,您的资源的 URL 指向 S3),则 Varnish 不会参与,也不会缓存内容。
另一方面,如果您的服务器在本地访问 S3 文件(例如,您的应用程序读取文件或您使用诸如 s3fs 之类的程序在本地挂载 S3 存储桶)并从中提供文件,那么可以使用 Varnish 来缓存文件。
不过,可以说,目的问题浮现在脑海中。从 S3 提供服务应该比尝试使用 Varnish 实现自己的缓存更具可扩展性。一个优点可能是节省 DNS 查找(因此可能对少量小项目有用)。(更好的缓存替代方案可能是 Cloudfront,但对于少量/小文件,S3 通常表现更好)。