我决定用Python编写我的移动应用程序的webservices。 将有大约10个Web服务,它们必须进行Web抓取并返回JSON数据。
我正在努力找出最佳解决方案。
我一直在考虑使用NGINX + uWSGI + Flask。
但我发现Flask有一些我不需要的东西,例如Jinja2模板系统。
如何使用Werkzeug,这是Flask使用的WSGI实用程序库? 使用Werkzeug而不是整个Flask,服务器会更高效吗?
你还有其他建议吗?
答案 0 :(得分:2)
有很多选择。虽然,你已经提到有很多用户,你需要非常有效的解决方案。
考虑到这一点,请考虑使用Tornado和nginx作为负载均衡器,将请求转发给您的龙卷风服务器:
通过使用非阻塞网络I / O,Tornado可以扩展到数十个 成千上万的开放连接。
该框架与大多数主流Web服务器框架不同 (当然,大多数Python框架)因为它是非阻塞的 相当快。因为它是非阻塞的并使用epoll或kqueue, 它可以处理数千个同时站立的连接 意味着该框架非常适合实时Web服务。
我个人使用这个组合,同时用mongodb作为数据库构建一个在线商店,使用异步python驱动程序与龙卷风和mongodb进行通信,称为motor。如果对此选项有任何疑问,请随时提出。
希望有所帮助。