我知道之前已经有过这样或那样的问题,但是大部分与GAE稳定性有关的主要问题似乎都是在2008年底,2009年初提出来的,或者与大规模的游戏没有直接关系(我很感兴趣)。
基本上,我一直在与我的业务合作伙伴争论是否使用GAE或AWS作为社交游戏引擎的后端,现在是关键时刻。我喜欢GAE(Java)有很多原因,虽然过去常常不稳定,但现在还不错。支持AWS的主要理由是AWS已证明自己每天运行数千万活跃用户的多个游戏。 AWS的明显炙手可热的孩子是Zynga,其Farmville达到80 +百万DAU。这只是在AWS基础架构上运行的非常成功的游戏之一。显着的成就。
所以,这种或那种方式已经知道了。另一方面,GAE没有任何我能找到这些数字的例子。差远了。 我可以相信吗?是否有使用GAE的200万+每日活跃用户的大型社交游戏的单个示例?
我们社交游戏后端的主要考虑因素是:
我期待你的想法,但请注意,这并不是为了开始任何形式的火焰战争。我喜欢这两种系统,但两者都有积极的和消极的,但我即将做出一个可能不会被推进的架构决策。
此致
沙恩
答案 0 :(得分:8)
我从未使用过AWS-EC2,因此我将在Google App Engine上分享我的知识。
最近,Google App Engine团队关闭了App Gallery,原因很简单:玩具应用太多了! 谷歌想要抵消这种成功的企业案例研究的趋势;以下是其中一些:
其他有趣的案例研究here
“我们非常了解停机时间和可靠性问题,并正在努力解决这些问题:提高App Engine可靠性是我们的首要任务”Google Developer Relations最近表示经理here。
App Engine仍处于测试阶段,是一个不断发展的平台,因此您必须做好应对停机和问题的准备。
Google App Engine团队刚刚推出App Engine for Business预览,提供99.9%的正常运行时服务水平协议和高级开发人员支持。
以下是我对其价值的看法:
我知道这是一个艰难的电话;阅读了很多articles about GAE我对此感到好奇,因为你可以从最近的灾难性Carlos Ble报告转到Flower Garden或Gri.pe的快乐体验。
App Engine for Business看起来很有前途,我会考虑在严肃的商业项目计划中。
新的SDK 1.4.0是巨大的,它清楚地表明团队正在努力解决一些烦人的问题(热身请求)和放松一些限制(在TaskQueue上10分钟的过程)。
最后要考虑的事情是:如果你要获得大数字,谷歌应用引擎团队可能会将你的应用作为一个成功的案例研究,以推动免费和强大的炒作。
答案 1 :(得分:6)
BuddyPoke是在GAE上运行的大型社交应用程序的一个示例。多大我不确定。本文说每日页面浏览量为30米(不是用户):
http://googleappengine.blogspot.com/2008/10/app-engine-case-studies.html
他们的Facebook页面显示每月270万(不是每日)用户:
http://www.facebook.com/buddypoke
虽然,他们也在其他社交网络上:
我个人决定选择GAE,主要原因如下:
如果您的第4点对您来说很重要,那么您可能会更好地使用AWS。使用GAE,您似乎无能为力,也无法联系。
大约一个星期前,我的应用程序出现问题 - 它突然开始在Google的代码中失败,在过去5天一直运行良好的位置,即自从我上次上传我的应用程序以来。向Google报告问题的唯一方法似乎是通过他们的生产问题模板,在这里:
http://code.google.com/p/googleappengine/issues/entry?template=Production%20issue
我报告了这个问题,但没有听到任何消息。由于它在谷歌的服务器上运行,我无法采取任何“通常”的紧急策略,如重新启动服务器。一个小时之后,问题就解决了 - 我不确定Google的某个人是否看到了我的消息并修复了某些内容,或者它是否已经消失。我更新了我的错误报告,说问题已经修复,但即使是现在一周后问题仍未解决或甚至被确认。此外,由于问题必须公开发布,我的应用程序现在可以从机器人中随机点击。
不可否认,我的应用程序目前仅处于测试阶段,因此只有大约一百个用户,因此对我来说这不是一件大事。如果我获得了数千/数百万次点击,那么谷歌可能会更早地注意到这个问题,或者他们会更加关注我的错误报告。
在您的观点3,即使是我的小型应用程序,只有少量流量也会引发偶尔的数据存储错误(即使在可用性图表中未报告为中断的时间内)。
话虽如此,我仍然喜欢GAE(我正在使用Python版本),并计划坚持下去。 GAE的承诺是它的可扩展性 - 虽然它现在偶尔会因为我的小流量而有所下降,但是当它扩展到更多流量时(即你的第2点)它不应该再落后了,前提是我已正确编码以避免争。我会看看它是怎么回事。
最后关于您的观点1,blobstore和/或静态文件更像是GAE上的CDN,而不是数据存储区。然而,对于非常大量的流量,真正的CDN可能更便宜。它也不一定是CDN,请参阅Google app engine & CDN。