从Python消费REST API:我需要异步库吗?
我有一个REST API,现在我想创建一个网站,这个网站将只使用这个API作为主要的数据来源。这个系统是分布式的:REST API在一组机器上,而网站则在另一组机器上。
我预计会有相当大的访问量,所以我想让请求尽可能高效。
我需要使用一些异步的HTTP请求库,还是说任何HTTP客户端库都可以?
API是用Flask做的,网站也将使用Flask和Jinja作为模板引擎来构建。
3 个回答
0
其实你的API是在另一台机器上。即使你让客户端的请求变成异步的,也不会对服务器产生任何影响。通过让请求异步,你的客户端线程就不会等待服务器的响应。无论是同步请求还是异步请求,服务器的反应都是一样的。
如果你想让请求变成异步的,可以查看一下这个链接:http://stackandqueue.com/?p=57。这个链接使用了unirest来进行异步的GET和POST请求。
1
先从简单的开始,选择对你来说容易上手的方法。优化的事情可以等到需要的时候再考虑。
如果你每秒有成千上万的请求,使用异步库会很有帮助。不过,更早的时候,你可能会遇到和数据库相关的性能问题(如果你在用数据库的话),这些问题是异步处理无法解决的。