希望做一个非常小,快速的肮脏的项目。我喜欢谷歌应用引擎运行在Python上并且内置了Django的事实 - 给我一个尝试该平台的借口......但我的问题是:
有没有人使用app引擎来解决玩具问题以外的问题?我看到一些很好的示例应用程序,所以我认为这对于真正的交易来说已经足够好了,但是想得到一些反馈。
任何其他成功/失败的说明都会很棒。
答案 0 :(得分:62)
我已经为我的小型地震监视应用程序尝试过app引擎 http://quakewatch.appspot.com/
我的目的是看到应用引擎的功能,所以这里有一些要点:
但总的来说,我认为它非常适合创建不需要大量后台处理的应用程序。
编辑: 现在task queues可用于运行批处理或计划任务
编辑: 在GAE上工作/创建一个真实应用程序一年之后,现在我的意见是,除非您正在制作一个需要扩展到百万和百万用户的应用程序,否则不要使用GAE。在GAE中维护和执行琐碎任务是一个令人头疼的问题,因为分布式性质,避免截止日期超出错误,计算实体或执行复杂查询需要复杂的代码,因此小型复杂的应用程序应该坚持LAMP。
编辑: 考虑到您希望将来拥有的所有交易,应该专门设计模型,因为只有同一实体组中的实体才能用于交易,并且它使更新两个不同组的过程成为噩梦,例如在交易中将资金从user1转移到user2是不可能的,除非它们在同一个实体组中,但是使它们成为相同的实体组可能不是最好的频繁更新目的.... 阅读此http://blog.notdot.net/2009/9/Distributed-Transactions-on-App-Engine
答案 1 :(得分:36)
我使用GAE来托管几个高流量的应用程序。就像50-100 req / sec的订单。太棒了,我不能推荐它。
我以前的Web开发经验是使用Ruby(Rails / Merb)。学习Python很容易。我没有搞乱Django或Pylons或任何其他框架,只是从GAE示例开始,并从提供的基本webapp库中构建了我需要的东西。
如果您习惯了SQL的灵活性,数据存储可能需要一些时间来习惯。没什么太痛苦的!最大的调整是离开JOIN。你必须认识到规范化是至关重要的。
本
答案 2 :(得分:23)
我使用Google App Engine遇到的一个令人信服的原因是它与您的域的Google Apps集成。从本质上讲,它允许您创建仅限于域(控制)登录的自定义托管Web应用程序。
我使用此代码的大部分经验是构建一个简单的时间/任务跟踪应用程序。模板引擎很简单,但使得多页面应用程序非常平易近人。登录/用户意识api同样有用。我能够制作一个公共页面/私人页面范例而没有太多问题。 (用户将登录以查看私人页面。匿名用户仅显示公共页面。)
当我被“真正的工作”拉下来时,我刚刚进入项目的数据存储区。
我能在很短的时间内完成很多工作(目前还没有完成)。由于我之前从未使用过Python,这一点特别令人愉快(因为它对我来说是一种新语言,而且因为尽管使用了新语言,开发仍然很快)。我遇到的很少,这使我相信我无法完成任务。相反,我对功能和功能有相当积极的印象。
这是我的经验。也许它不仅仅代表一个未完成的玩具项目,但它确实代表了该平台的知情试验,我希望有所帮助。
答案 3 :(得分:12)
“运行Django的App Engine”的想法有点误导。 App Engine取代了整个Django模型层,因此准备花一些时间适应App Engine的数据存储,这需要不同的建模和思考数据的方式。
答案 4 :(得分:7)
我使用GAE来构建http://www.muspy.com
它不仅仅是一个玩具项目,也不是过于复杂。我仍然依赖谷歌要解决的一些问题,但整体开发网站是一种愉快的体验。
如果您不想处理托管问题,服务器管理等问题,我绝对可以推荐它。特别是如果你已经了解Python和Django。
答案 5 :(得分:7)
我认为App Engine在这一点上对于小型项目来说非常酷。因为永远不必担心托管,所以有很多话要说。 API还可以帮助您构建可扩展的应用程序,这是一种很好的做法。
答案 6 :(得分:6)
这个问题已得到全面解答。这很好。 但有一件事值得一提。 谷歌应用程序引擎有一个日食ide插件,这是一个愉快的工作。
如果您已经使用eclipse进行开发,那么您将会非常高兴。
要在Google应用引擎的网站上进行部署,我需要做的就是点击一个小按钮 - 带有飞机徽标 - 超级。
答案 7 :(得分:4)
看一下sql game,它非常稳定,实际上在一点上推动了流量限制,以便它受到谷歌的限制。除了在其他人完全控制的服务器上托管你的应用程序之外,我只看到了关于App Engine的好消息。
答案 8 :(得分:4)
我使用GAE构建了一个简单的应用程序,它接受一些参数,格式和发送电子邮件。它非常简单快速。我还在GAE数据存储和内存缓存服务(http://dbaspects.blogspot.com/2010/01/memcache-vs-datastore-on-google-app.html)上做了一些性能基准测试。它不是那么快。我的观点是,GAE是一个强制执行某种方法论的平台。我认为它将演变为真正可扩展的平台,不允许使用不良做法。
答案 9 :(得分:4)
我将GAE用于我的Flash游戏网站Bearded Games。 GAE是一个很好的平台。我使用了Django模板,它比PHP的旧时代容易得多。它配备了一个出色的管理面板,为您提供了非常好的日志。数据存储区与MySQL之类的数据库不同,但它更容易使用。建立网站简单明了,他们在网站上提供了许多有用的建议。
答案 10 :(得分:3)
我使用GAE和Django构建了一个Facebook应用程序。我使用http://code.google.com/p/app-engine-patch作为我的起点,因为它支持Django 1.1。我没有尝试使用任何manage.py命令,因为我认为它们不起作用,但我甚至没有调查它。该应用程序有三个模型,也使用pyfacebook,但这是复杂程度。我正在构建一个更复杂的应用程序,我开始在http://brianyamabe.com上发布博客。