我正在考虑使用Google App Engine。它将成为一个庞大的网站。在这种情况下,您使用Google App Engine的建议是什么?我听说GAE有限制,因为我们无法存储超过1MB限制的图像或文件(它们将从我在GAE路线图中读到的内容进行更改),查询限制为1000个结果,我也将使用GAE进行web2py 。所以我想知道你的意见。
由于
答案 0 :(得分:8)
用GAE开发了一个小网站,我有一些想法
如果你的意思是“巨大的”,比如“下一个YouTube”,那么GAE可能非常合适,因为前面提到过缩放。
如果你的意思是“巨大的”,如“大规模复杂,有大量的屏幕,模型和功能”,那么GAE可能不太适合。单元测试等问题在GAE上很难实现,并且你的应用程序没有内置的结构,你可以使用(着名的)(Ruby on)Rails或(Python驱动的)Turbogears。
即:没有登台环境:只是您的系统和生产的开发副本。根据您的情况,这可能是也可能不是坏事。
此外,它取决于您打算引入的其他Python模块:一些Python模块不能在GAE上运行(因为您无法与硬件通信,或者因为包中的文件太多)
希望这有帮助
答案 1 :(得分:5)
在Google App Engine上使用web2py是一个很好的策略。它可以帮助您快速启动和运行,如果您超出了GAE的限制,那么您可以将web2py应用程序移动到其他位置。
但是,保持这种可移植性意味着您应远离GAE的高级部分(任务队列,事务,ListProperty等)。
答案 2 :(得分:3)
AppEngine使用BigTable作为其数据存储后端。不要尝试编写传统的关系数据库驱动的应用程序。 BigTable非常适合用作高度可扩展的键值存储。尽可能避免加入。
答案 3 :(得分:2)
我不担心这些。在使用Google App Engine一段时间之后,我发现它可以很好地扩展到大型数据集。如果您的数据元素很大(即照片),那么您将需要与其他服务集成来处理它们,但无论对于那个大小的数据,这可能都是真的。此外,我发现BigTable相对容易使用完全来自关系数据库的背景。最后,Django是谷歌App Engine的一个隐藏但很棒的“功能”。如果您从未使用它,它是一个非常漂亮,优雅的Web框架,它使许多常见任务变得微不足道(这里可以想到表单)。
答案 4 :(得分:1)
Google刚刚发布了SDK的1.3.0版本,并支持新的Blobstore API,用于存储高达50MB的文件。请参阅帖子“App Engine SDK 1.3.0 Released Including Support for Larger User Uploads”。
答案 5 :(得分:0)
我唯一担心的是,如果一个巨大的网站(消耗大量的带宽和CPU),如果自己托管它最终会不会更便宜。 (问题是Google的配额是多么公平,以及定价在高端市场是否具有竞争力。)
除此之外 - 启用结算功能,让Google为您完成所有扩展工作。
答案 6 :(得分:0)
Google Wave怎么样?它建立在appengine的基础上,一旦实时,实时可翻译聊天到达企业部门......我可以看到它达到排名第1000位......但话又说回来,这是一个内部项目,可以做其他appengine应用程序可以做的特殊事情像......悬挂的线程;我想......无论Wave有什么其他的东西......
答案 7 :(得分:-11)
如果您计划在“庞大”的网站上,请不要使用App Engine。就那么简单。 App Engine不是为了提供下一个排名第1000的网站而构建的。
请允许我也问一下'巨大'是什么意思,同时有多少用户?每秒查询?数据库加载?