我应该放弃Google App Engine吗?

时间:2009-05-08 10:35:19

标签: django google-app-engine web-frameworks

我正在开发GAE的某种金融市场模拟。虽然我已经取得了很大的进步,但我已经开始考虑在最近几天解雇GAE并寻找Django + rdbms解决方案。让我说明我的理由:

  1. 交易:GAE支持单个实体组的交易。如果应用程序涉及复杂的交易,例如金融市场中的交易,则不能使用此机制(读取:没有可用的交易机制)。一些高级用户已经开发出解决这个问题的解决方案,但尚未发布,据说只能在java中使用。

  2. 全文检索:具有讽刺意味的是,但目前存在一种非常原始的API。此外,路线图中未提及改进。

  3. 分页:开发友好的分页机制不适合胆小的人(或截止日期)。

  4. 后台流程:批量在财务应用程序中很重要,目前我必须尝试使用​​Cron。但我认为后台流程已在路线图中,并将在短时间内提供。

  5. 我选择GAE是为了缩短开发时间并轻松应对未来可能出现的可扩展性问题。我非常喜欢GAE,它有一些很好的功能,但是一起解决这些问题需要花费太多精力,并且可能首先取消使用GAE的任何好处。

    如果你是我,你会怎么做?

6 个答案:

答案 0 :(得分:5)

  1. 交易:你说得对,GAE无法处理复杂的查询,但是没有Big-Table方法可以处理像RDB这样的复杂计算。

  2. 全文搜索:使用“原始”API进行全文搜索后,您可以远离它,它非常乏味,绝不可扩展(不能将超过四个术语组合起来进行搜索,如果我没记错的话。)

  3. 后台进程:最新版本提供的C​​RON进程并不是一半糟糕,我再次认为您希望在后台进程中做更多事情。

答案 1 :(得分:3)

如果您需要后台交易+类似云的可扩展性Amazon Elastic Cloud Computing是我所知道的唯一可能性。它有点难以维护,因为你基本上可以使用整个操作系统,但是这也可以让你灵活地运行你想要的任何东西..

答案 2 :(得分:2)

在咀嚼主题后,我决定选择django + rdbms解决方案。似乎GAE需要时间才能达到成熟。

答案 3 :(得分:1)

正如您所了解的那样,人们常常在使用它一段时间后才发现像GAE这样的开发环境的所有问题和陷阱。这很可能适用于任何环境。

在提交备用环境(Django + rdbms)之前,您对该平台的熟悉程度如何?如果您是初学者,可能会发现您遇到其他问题。

另一方面,如果您对Django + rdbms非常熟悉,那么这是另一个故事。当然有人想知道你是否熟悉它们,为什么你首先选择GAE?你一定觉得它提供了一些你将放弃GAE放弃的好处。

也许您需要列出每个平台的优缺点,然后尝试平衡列表以做出决定。最终没有魔法子弹,无论你走多远,你无疑会遇到一些问题。

答案 4 :(得分:1)

正如安德烈亚斯所说,看看亚马逊网络服务,它是一个严肃的生产环境,它将为您提供许多您可能尚未考虑的内容,包括内容交付网络(节省带宽),简单数据库和有趣(但是我还没有想到我可以用它来使用Machanical Turk服务,哦年和EC2虚拟服务器 - 在这些服务上运行你喜欢的任何东西。

答案 5 :(得分:0)

搬家需要多少工作?有兴趣了解您对GAE的体验。

我总是认为拥有更多控制力会更好,如果你打击砖墙你应该移动。这是我的意见,希望它有所帮助!