Google cloud storage 使用Google存储桶作为按需拉式CDN
我正试图使用谷歌云存储桶从GCE上的web服务器提供静态文件。我知道我必须手动复制文件,但我正在寻找一种方法,可以像其他CDN服务一样按需动态复制文件。这可能吗?如果你问谷歌云存储是否会自动、透明地缓存来自web服务器的频繁访问的内容,那么答案是否定的,你必须自己明确地将文件复制到存储桶中 但是,如果您询问是否可以将文件动态(即,以编程方式)复制到您的GCS存储桶中,而不是手动(例如,通过或web UI),则是的,这是可能的 我想您会使用类似以下过程的方法:Google cloud storage 使用Google存储桶作为按需拉式CDN,google-cloud-storage,google-compute-engine,google-cdn,Google Cloud Storage,Google Compute Engine,Google Cdn,我正试图使用谷歌云存储桶从GCE上的web服务器提供静态文件。我知道我必须手动复制文件,但我正在寻找一种方法,可以像其他CDN服务一样按需动态复制文件。这可能吗?如果你问谷歌云存储是否会自动、透明地缓存来自web服务器的频繁访问的内容,那么答案是否定的,你必须自己明确地将文件复制到存储桶中 但是,如果您询问是否可以将文件动态(即,以编程方式)复制到您的GCS存储桶中,而不是手动(例如,通过或web UI),则是的,这是可能的 我想您会使用类似以下过程的方法: # pseudocode, not
# pseudocode, not actual code in any language
HandleRequest(request) {
gcs_uri = computeGcsUrlForRequest(request)
if exists(gcs_uri) {
data = read(gcs_uri)
return data to user
} else {
new_data = computeDynamicData(request)
# important! serve data to user first, to ensure low latency
return new_data to user
storeToGcs(new_data) # asynchronously, don't block the request
}
}
如果这符合您的计划,那么有几种方法可以实现这一点,例如
- (推荐)
请注意,为了避免无限期地填满您的Google云存储桶,您应该将配置为在一段时间后自动删除文件,或者设置一些其他流程来定期清理您的存储桶。您能否澄清一下您的意思,即您的使用情况、您看到的问题等。?您希望动态复制哪些文件?它们是动态生成的吗?它们是否(尚未)存储在地面军事系统上?另外,您是否可以编辑您的问题,以指向您所指的文档?我正在尝试复制静态文件,这些文件是通过从我的Web服务器请求按需动态生成的,如果它们不在存储桶中。您希望动态复制哪些文件?动态生成的JS CSS文件,它们是否(尚未)存储在GCS上?没有。@gadelkareem抱歉,我不知道。