0

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

我正在尝试找出最佳解决方案。

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

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

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

你还有什么建议吗?

4

1 回答 1

2

有很多选择。不过,您已经提到有很多用户,您需要非常有效的解决方案。

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

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

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


我个人在使用 mongodb 作为数据库构建在线商店时使用了这种组合,使用用于 tornado 和 mongodb 的异步 python 驱动程序与它进行通信,称为motor。随时询问有关此选项的任何问题。

希望有帮助。

于 2013-07-11T21:56:44.167 回答