2011-12-11 62 views
3

我正在开发两个系统的工作:最佳的Python Web框架为我的API服务器需要

  1. 将不断地从第三方数据馈送检索的经济数据,并将其推入一个MySQL数据库(使用SQLAlchemy的系统)
  2. 的服务器,这将允许任何人查询的分贝超过JSON AJAX API(类似于Yelp的或雅虎API为例)

数据我有两个主要问题:

  1. 我应该在2)中使用哪个Python框架?金字塔是我的第一选择,但如果你强烈建议不要或者赞成Django或Pylons之类的其他东西,我肯定会考虑它。
  2. 我应该分别开发这两个系统吗?还是应该1)成为2)的一部分,在框架内运行(例如使用crontab或芹菜)?
+1

我建议用活塞运行django。这会给你一个好的RESTful平台,可以处理JSON。 – Gevious

+0

关于2:看起来系统足够小,可以将它们放在一个项目中。但是,如果您预计Web结束增长,而不是在一个单独的项目中。这样升级不会中断数据收集工具。 – Gevious

+0

谢谢!为什么我要在2)中使用REST而不是SOAP或普通的JSON?我不确定哪一个会更好。 – user1092539

回答

0

取决于你处于哪个阶段,我会建议开发2个系统,因为从第三方提取数据的负载和处理API的负载会不同。如果需要,可以将它们缩放到不同类型的节点中。

Django-Tastypie(https://github.com/toastdriven/django-tastypie)不错,它支持所有的JSON,XML和YAML。您也可以轻松添加OAuth。尽管如此,Django本身也许在这个时候对你的需求有点沉重。

+0

感谢您的回应!首先,我明白你对两种不同系统的看法。但是,最初,这些系统将运行在同一台机器上并通过相同的数据库运行。没有相同的应用程序访问数据库,无论是1)还是2)使数据库访问比2个应用程序访问快很多?我也同意Django--我喜欢它,但我觉得它更适合需要管理等的wikipedia系统。 Django真的是我在找什么? – user1092539

+0

如果我正在构建原型或构建一个alpha版本,我只需要编写一个应用程序,但请将其分为两部分。就访问速度而言,如果您打算使用单个数据库,那么我认为您是对的,1个应用程序使其运行速度相对较快。但是,您应该将#1(读取/写入)的数据库副本复制到#2的只读文件中,然后再进行beta版或生产版。 我并不是在建议或推动Django,但我喜欢tastypie,因为您需要花费的时间对于获得体面的API起作用并且运行起来绝对是最小的。还要考虑Flask,它重量轻,速度快。 – Glorithm

+0

Django不是necc适用于某种系统或另一种系统。它就像有sqlalchemy,但有一些其他功能,如模板,网址路由等使用你想要的,而忽略其余的。我认为它包含了您需要在一个地方设计一次您的模型,并提供一个API前端的一切。您可以编写重用模型的命令行脚本,并以各种方式提供数据库 – jdi

0

您可能想要检出web2py's新功能,可轻松生成RESTful API's,特别是其parse_as_restsmart_query功能。你也可以考虑使用web2py的database abstraction layer来处理#1。

如果您需要任何帮助,请致电mailing list

+0

添加注释,说明您是web2py的核心贡献者,这很好。 – user183037

+0

首先,我不会把自己描述为*核心贡献者(虽然我确实做出了贡献)。第二,为什么?我不表示意见或批评替代品。我只是提供了一些详细说明可能适合需求的功能的链接,OP可以很容易地评估这些功能以决定它是否是一种可行的选择。我的地位是无关紧要的。 – Anthony

+0

因为我没有看到太多在X产品上工作的人推荐产品Y,其中X和Y是竞争产品。这就是为什么它被称为有偏见的观点。这就是为什么添加免责声明的一般做法。 而jeez,我并没有试图冒犯你什么,只是做了一个观察。 – user183037

0

我同意安东尼,你应该看看Web2Py。开始起步非常简单,学习治愈率极低,并且易于在包括Linux,Windows和亚马逊在内的许多系统上部署。

到目前为止,我没有发现任何Web2Py无法做到的事情。但更重要的是,它可以做你认为应该完成的事情,所以如果你不确定,很多时候猜测已经足够好了,而且它也可以工作。如果您遇到困难,那么它是迄今为止所有Python Web Framework的最佳和最新的文档。

即使所有功能都很棒,易于使用和最新的文档,您还会发现Google上的web2py用户组就像是每天24小时都有一个付费的帮助台。大多数问题的答案都是几分钟,而Massimo(Web2Py的原创者)不仅仅是为了帮助,而是在团队中提出新的想法,建议和缺陷修复之后,在他们提出的日子之内。