【问题标题】:Google App Engine ( GAE ) and static files best practicesGoogle App Engine (GAE) 和静态文件最佳实践
【发布时间】:2011-03-24 11:45:41
【问题描述】:

我正在尝试创建一种 instagram 应用程序,并且我正在学习 GAE,所以我想用它创建整个应用程序。

我看到的问题是向客户端提供图像会消耗大量流量,我不希望这样,因为 Google 会为此向您收费。

我的问题是:在 GAE 中处理图像的最佳实践是什么?

我的第一个想法是在另一台服务器上为所有静态的东西设置另一台服务器:CSS、PNG、JPG 等...,然后在 GAE 上执行逻辑。

这样,如果有一天我需要它,我可以迁移到亚马逊或其他任何地方,因为逻辑应该可以与 GAE 完美扩展(如果编程良好:))。

链接或建议会很棒!

谢谢

【问题讨论】:

  • ...如果您不向他们发送图片,您的用户将如何看到他们的图片?使用流量是不可避免的,App Engine 的费率具有竞争力。
  • 这是 POST 的原因 :) 我希望看到一些讨论和意见,以帮助我和我所处情况的每个人决定最佳选择。虽然 Adam Crossland 的解决方案对我来说似乎很干净。

标签: python google-app-engine optimization static


【解决方案1】:

有人会向您收取交付内容的费用,无论是 Google 通过 AppEngine 还是 Amazon 通过 S3 或 CloudFront 或其他方式。您需要整理一个电子表格,您可以在其中插入数字以查看各种替代方案在不同数量下的工作方式。

Amazon CloudFront 是提供廉价静态内容的好选择。

在设计您的应用程序方面,您真正需要担心的唯一一件事是确保在需要更改交付源时您只需做很少的工作。

就我个人而言,我认为我会创建一个custom Django tag 来为我生成<img> 标签;像这样:

{% staticimg sunset %}

这将生成如下所示的 html:

<img src='http://instagram.appspot.com/image/serve/sunset.jpg'>

当我需要切换到我的新提供商时,例如 cheapo-cdn.com,我更改了自定义标记代码并重新部署了我的应用程序,而无需进行其他更改。突然,顺利地,生成的 HTML 看起来像这样:

<img src='http://cheapo-cdn.com/image/serve/sunset.jpg'>

【讨论】:

    【解决方案2】:

    试试Google Picasa with its API。不久前,我一直在寻找类似问题的答案,这是一个很好的解决方案。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-07-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-08-15
      相关资源
      最近更新 更多