Python中的webservices:最轻巧,最有效的解决方案

时间:2013-07-11 21:30:08

标签: python web-services flask wsgi werkzeug

我决定用Python编写我的移动应用程序的webservices。 将有大约10个Web服务,它们必须进行Web抓取并返回JSON数据。

我正在努力找出最佳解决方案。

我一直在考虑使用NGINX + uWSGI + Flask。

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

如何使用Werkzeug,这是Flask使用的WSGI实用程序库? 使用Werkzeug而不是整个Flask,服务器会更高效吗?

你还有其他建议吗?

1 个答案:

答案 0 :(得分:2)

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

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

  

通过使用非阻塞网络I / O,Tornado可以扩展到数十个   成千上万的开放连接。

     

该框架与大多数主流Web服务器框架不同   (当然,大多数Python框架)因为它是非阻塞的   相当快。因为它是非阻塞的并使用epoll或kqueue,   它可以处理数千个同时站立的连接   意味着该框架非常适合实时Web服务。


我个人使用这个组合,同时用mongodb作为数据库构建一个在线商店,使用异步python驱动程序与龙卷风和mongodb进行通信,称为motor。如果对此选项有任何疑问,请随时提出。

希望有所帮助。