使用 Google 存储桶作为按需拉取 CDN



我正在尝试使用Google Cloud Storage bucket从GCE上的Web服务器提供静态文件。我在文档中看到我必须手动复制文件,但我正在寻找一种像其他 CDN 服务一样按需动态复制文件的方法。这可能吗?

如果您询问 Google Cloud Storage 是否会自动透明地缓存来自您的网络服务器的频繁访问的内容,那么答案是否定的,您必须自己明确地将文件复制到存储桶中。

但是,如果您询问是否可以将文件动态(即以编程方式)复制到您的 GCS 存储桶,而不是手动(例如,通过 gsutil 或 Web UI),那么是的,这是可能的。

我想你会使用类似于以下过程的东西:

# 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
  }
}

如果这符合您计划做的事情,那么有几种方法可以实现此目的,例如,

  • 特定于语言的库(推荐)
  • 杰伦接口
  • XML API

请注意,为避免无限期填满 Google Cloud Storage 存储空间,您应该配置生命周期管理政策,以便在一段时间后自动删除文件,或设置其他流程来定期清理存储空间。

相关内容

  • 没有找到相关文章

最新更新