Google App Engine(GAE)和静态文件最佳做法

时间:2011-03-24 11:45:42

标签: python google-app-engine optimization static

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

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

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

我的第一个想法是在另一台服务器上安装另一台静态服务器:CSS,PNG,JPG等,然后在GAE上执行逻辑。

这种方式如果有一天我需要它,我可以迁移到亚马逊或其他什么,因为逻辑与GAE完全缩放(如果编程良好:))。

链接或建议会很棒!

由于

2 个答案:

答案 0 :(得分:3)

有人会向您收取内容费用,无论是通过AppEngine进行Google还是亚马逊通过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'>

答案 1 :(得分:2)

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