业务流程:
客户端请求服务端 -> 服务端请求多个第三方 http api 获取数据 -> 服务端聚合处理第三方 api 的数据,返回给客户端
在第二个步骤中,我们使用 vert.x web client 这个异步框架同时发起多个 http 请求,当请求完成后将结果放到一个 future 中。调用线程调用 future.get 阻塞住,等待异步请求结果返回。
我的问题是:
听说这个地方使用异步框架能带来处理能力上的提升,支持更多的请求和链接,这是为啥呢?不太理解。
相比较而言,如果换成使用线程池来发起多个 http 也用 future 来接受结果,到底提升在哪呢?
异步请求 http 的时候也是用的线程呀,这个线程与线程池里的线程有啥区别吗?凭啥更好呢?
客户端请求服务端 -> 服务端请求多个第三方 http api 获取数据 -> 服务端聚合处理第三方 api 的数据,返回给客户端
在第二个步骤中,我们使用 vert.x web client 这个异步框架同时发起多个 http 请求,当请求完成后将结果放到一个 future 中。调用线程调用 future.get 阻塞住,等待异步请求结果返回。
我的问题是:
听说这个地方使用异步框架能带来处理能力上的提升,支持更多的请求和链接,这是为啥呢?不太理解。
相比较而言,如果换成使用线程池来发起多个 http 也用 future 来接受结果,到底提升在哪呢?
异步请求 http 的时候也是用的线程呀,这个线程与线程池里的线程有啥区别吗?凭啥更好呢?