异步HTTP有什么好处

时间:2016-06-07 15:02:42

标签: multithreading http asynchronous nonblocking asyncsocket

Q.1 我知道当我们谈论synchronous HTTP时,对于每个请求,线程可能会被生成并被阻止,所以当同时连接数增加时,我们会遇到巨大的线程开销。
异步模式将容忍一些所需的开销轮询响应,但线程数量急剧减少。
我也知道Asynchronous HTTP即使提交的回复不是完整的回复(仅收到回复的一部分),也会让我们采取行动。这对于实时行动是合适的。
Async HTTP还有什么其他好处?

Q.2 我的服务器只有一个客户端,但该客户端每秒会发送数千个请求。我使用轻量级线程(Synchronous HTTP)来阻止IO(Quasar)。我应该切换到异步吗?为我这样做有什么好处?

1 个答案:

答案 0 :(得分:1)

首先,由于意义不明确,我认为我们不会谈论“异步HTTP”。

当我们提到异步和http时,有两种情况:

我认为你的问题实际上是后者。

A.1异步I / O的好处

  • 它可以同时处理大量客户端/请求。见C10k problem
  • 当每个请求花费很长的等待时间(等待磁盘I / O,数据库等等)时,它可以重用空闲线程以获得更高的吞吐量。

A.2如果您的方案与上述任何一方匹配,您可以切换。