首页 文章

我应该将静态资源从App Engine移动到Google Cloud 端存储吗?

提问于
浏览
7

我们在App Engine中有一个Web应用程序 . 我想知道将我的静态资源(即图像,CSS文件和JS文件)从App Engine中移出并从Google Cloud 端存储中提供它们是否是一个好主意 .

我在这里的想法是双重的:

1)我们可以通过Google Cloud 端存储获得CDN的优势 . 我们甚至可以为每个文件配置元数据以设置过期标头,gzip压缩等 . 此外,通过提供来自不同域的文件,我们可以让浏览器并行下载更多内容 .

2)通过从App Engine卸载一些文件,实例消耗将减少(对App Engine的请求减少),因此成本将下降 .

我对吗?这是明智之举吗?

谢谢,

3 回答

  • 6

    这些都没有意义 .

    1)App Engine具有类似CDN的功能's edge cache. Unfortunately, it'没有详细记录 . 有's a few Google I/O talks on it. Here'是一个开始:http://eng.pulse.me/backend-tips-the-free-cdn/有足够的's another talk in Google I/O 2012 that you can find as well. Your static files will be served with the edge cache if they'访问,因此无需为此移动到GCS .

    2)有充分证明静态文件不占用实例 . 你已经读过这个了,所以你的'偏执狂'只是偏执狂,而且没有意义 . 通过将新版本上传到app引擎,访问静态文件以及在Admin中检查新实例,也可以非常轻松地进行测试 .

  • 0

    你是对的,你接受的答案是错的 . 从官方文档中回答您的问题:

    https://cloud.google.com/storage/docs/website-configuration

    为动态网站托管静态资产您可以使用Google Cloud 端存储来托管托管的动态网站的静态资产,例如,在Google App Engine或Google Compute Engine中 . 托管静态资产(如图像或Javascript文件)在存储桶中的一些好处包括:

    • Google Cloud 端存储的行为基本上类似于内容交付网络(CDN),您无需担心任何工作,因为默认情况下,公共可读对象会缓存在Google Cloud 端存储网络中 .

    • 使用Google Cloud 端存储时,访问内容的带宽费用通常会降低 .

    • 从Google Cloud 端存储提供静态内容时,Web服务器上的负载会减少 .

  • 3

    你的直觉是对的,这是Google docs的确认:

    使用 Cloud 存储而不是直接从您的应用提供服务的好处包括: Cloud 存储基本上可用作内容交付网络 . 这不需要任何特殊配置,因为默认情况下,任何公共可读对象都缓存在全局 Cloud 存储网络中 . 通过将服务静态资产卸载到 Cloud 存储,可以减少应用程序的负载 . 根据您拥有的静态资产数量和访问频率,这可以大幅降低运行应用程序的成本 . Cloud 存储通常可以降低访问内容的带宽费用 .

    知道静态文件肯定是使用实例资源提供的 . 边缘缓存确实生效,但这并不能简单地消除整个问题 . 将静态移动到GCS是正确的方法 .

    Note, however, 如果您计划从GCS提供静态文件,那么您必须使用负载均衡器或第三方CDN .1703144_ ll必须使用负载均衡器或第三方CDN . 在某些情况下,这可能会更麻烦 . 有关详细信息,请参阅here .

相关问题