异步http和同步http原理和差异
开发服务器端程序时,一种常见的需求是,通过向另一个http服务器发送请求,获得数据。最常规的作法是使用同步http请求的方式,过程如下 这种方式简单好用,但是在高并发场景下有缺陷。在单线程环境下,程序发送http请求是串行的,也就是第一个请求未完成的情况下,第二个请求发不出去,就像一条单行车道,车子只能一辆一辆的过。 为此我们会引入多线程提高并发性,然而多线程对并发发送http请求的提升也是有限的,比如8个线程同时只能发送8个请求,假如每个请求从发送到得到结果的时间是1秒,那么8个线程每秒钟也只能发送8个请求,而线程不能无线多开,因此多线程并不能很好的解决客户端高并发发送请求的问题。 这听起来很扯淡,我们使用的服务器配置动不动就8核16G,为什么发送http请求的能力如此弱鸡,实际上这并不是...阅读全文