我正在开发GAE的某种金融市场模拟。虽然我已经取得了很大的进步,但我已经开始考虑在最近几天解雇GAE并寻找Django + rdbms解决方案。让我说明我的理由:
交易:GAE支持单个实体组的交易。如果应用程序涉及复杂的交易,例如金融市场中的交易,则不能使用此机制(读取:没有可用的交易机制)。一些高级用户已经开发出解决这个问题的解决方案,但尚未发布,据说只能在java中使用。
全文检索:具有讽刺意味的是,但目前存在一种非常原始的API。此外,路线图中未提及改进。
分页:开发友好的分页机制不适合胆小的人(或截止日期)。
后台流程:批量在财务应用程序中很重要,目前我必须尝试使用Cron。但我认为后台流程已在路线图中,并将在短时间内提供。
我选择GAE是为了缩短开发时间并轻松应对未来可能出现的可扩展性问题。我非常喜欢GAE,它有一些很好的功能,但是一起解决这些问题需要花费太多精力,并且可能首先取消使用GAE的任何好处。
如果你是我,你会怎么做?
答案 0 :(得分:5)
交易:你说得对,GAE无法处理复杂的查询,但是没有Big-Table方法可以处理像RDB这样的复杂计算。
全文搜索:使用“原始”API进行全文搜索后,您可以远离它,它非常乏味,绝不可扩展(不能将超过四个术语组合起来进行搜索,如果我没记错的话。)
后台进程:最新版本提供的CRON进程并不是一半糟糕,我再次认为您希望在后台进程中做更多事情。
答案 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的体验。
我总是认为拥有更多控制力会更好,如果你打击砖墙你应该移动。这是我的意见,希望它有所帮助!