我有一个REST,现在我想创建一个网站,它将使用这个API作为唯一的主要数据源。系统是分布式的: REST在一组机器上,站点在另一组机器上。
我希望有相当多的负载,所以我想提出尽可能高效率的请求。
我需要一些异步HTTP请求库,还是任何HTTP客户端库都可以工作?
API是用烧瓶做的,网站也将用烧瓶和金刚作为模板引擎。
发布于 2014-05-14 15:52:52
您可以使用盖特姆和烧瓶从通常的同步库中获得异步I/O。有关有人在这方面得到帮助的例子,请参见这个问题。
您还可以在红角角后面运行Flask,它支持生成多个工作人员(线程、进程或绿地)来处理并发请求。如果采用这种方法,则Flask将保持完全同步,gunicorn将处理创建多个Flask实例来处理并发请求。
发布于 2014-05-14 14:42:34
开始简单,使用方式,这似乎是很容易使用对你。考虑以后只在需要时才进行优化。
如果每秒有数千个请求,异步库的使用将起到帮助作用。您可能很快就会遇到与数据库相关的性能问题(如果您使用它),这是异步魔术无法解决的。
发布于 2016-01-19 17:14:24
实际上,您的API位于另一台机器上。即使使客户端调用异步,它也不会对服务器产生任何影响。通过异步调用,客户端中的线程将不会等待响应。当调用为同步/async时,您的服务器也会做出相同的反应。
如果您想要进行异步调用,请检查http://stackandqueue.com/?p=57。它使用unirest进行get和post异步调用。
https://stackoverflow.com/questions/23657718
复制相似问题