5

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

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

  2. 全文搜索:很讽刺,但目前有一个非常原始的API。此外,路线图中没有提到改进。

  3. 分页:开发一个友好的分页机制不适合胆小的人(或按时限)。

  4. 后台进程:batch 在金融应用中很重要,暂时得用 Cron 做实验。但我认为后台进程已在路线图中,并将在短时间内可用。

我选择 GAE 是为了缩短开发时间,轻松应对未来可能出现的可扩展性问题。我真的很喜欢 GAE,它有一些出色的功能,但是一起解决这些问题需要付出太多的努力,而且很可能会抵消掉使用 GAE 的任何好处。

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

4

6 回答 6

5
  1. 事务:你是对的,GAE 不能处理复杂的查询,但是使用 Big-Table 方法没有任何东西能够像 RDB 那样处理复杂的计算。

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

  3. 后台进程:最新版本中可用的 CRON 进程还不错,但我认为您希望在后台进程上做更多事情。

于 2009-05-20T19:03:40.603 回答
3

如果您需要后台事务+类似云的可扩展性,亚马逊弹性云计算是我所知道的唯一可能。它有点难以维护,因为你基本上得到了整个操作系统,但这也让你可以灵活地运行任何你想要的东西..

于 2009-05-08T11:16:00.770 回答
2

在仔细研究了这个主题之后,我决定使用 django + rdbms 解决方案。GAE 似乎需要时间才能成熟。

于 2009-05-12T14:04:44.667 回答
1

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

于 2009-05-08T11:40:17.850 回答
1

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

在提交到替代环境(Django + rdbms)之前,您对该平台的熟悉程度如何?如果您不熟悉它,您可能会发现遇到其他问题。

另一方面,如果您完全熟悉 Django + rdbms,那就另当别论了。当然有人想知道你是否熟悉它们,为什么一开始选择 GAE?您一定觉得它提供了一些好处,而放弃 GAE 会放弃这些好处。

也许您需要列出每个平台的优缺点,然后尝试平衡这些列表以做出决定。最终没有灵丹妙药,无论你走哪条路,无疑都会遇到一些问题。

于 2009-05-08T11:08:15.500 回答
0

移动它需要多少工作量?很高兴听到您使用 GAE 的经历。

我一直认为最好有更多的控制权,如果你碰到砖墙,你应该移动。这是我的看法,希望对你有帮助!

于 2009-05-08T10:58:54.667 回答