2013-07-11 45 views
0

我决定用Python编写我的移动应用程序的webservices。 将有大约10个Web服务,这将不得不做网络抓取和返回JSON数据。Python中的webservices:最轻和最高效的解决方案

我想弄清楚最好的解决方案。

我一直在想使用NGINX + uWSGI +烧瓶。

但我发现Flask有一些我不需要的东西,例如Jinja2模板系统。

刚才使用的是Werkzeug,这是Flask使用的WSGI实用程序库? 与Werkzeug而不是整个Flask相比,服务器效率会更高吗?

你有什么建议吗?

+1

老实说,只是选择一个看起来不错的框架,并去。你在思考并试图在问题出现之前解决问题。 – edhedges

+0

我已经有700,000个应用程序的用户,他们的webservices是用PHP编写的,所以我试图找到一个非常有效的解决方案。 –

+0

@DanieleB如果你设法在PHP中维护一个这么大的应用程序,它将成为任何Python框架中的蛋糕。这不应该是一个尖刻的评论,我是认真的。 –

回答

2

有很多选择。虽然,你提到有很多用户,你需要非常有效的解决方案。

有考虑到这一点,可以考虑使用Tornadonginx作为负载平衡器,即请求转发给您的龙卷风服务器:

通过使用非阻塞网络I/O,龙卷风可以扩展到几十 数以千计的开放连接。这个框架与大多数主流web服务器框架 (当然也包括大多数Python框架)截然不同,因为它是非阻塞的,并且相当快速。因为它是非阻塞的并使用epoll或kqueue,所以它可以处理数千个同时存在的连接,这意味着该框架非常适合实时Web服务。


同时建立一个网上商店有作为的MongoDB数据库,使用龙卷风和MongoDB的异步蟒蛇司机与它通信,我亲自使用这个组合,称为motor。随意问任何关于这个选项的问题。

希望有所帮助。