HTTP2 Multiplexing
Valentin V. Bartenev
vbart at nginx.com
Wed May 4 10:19:50 UTC 2016
On Wednesday 04 May 2016 11:25:11 Muhui Jiang wrote:
> Hi
>
> Different from HTTP1.1 pipeline, HTTP2 allows multiple request and response
> messages to be in flight at the same time. I was wondering what the
> strategy Nginx adopt to implement this main feature.
Nginx allows multiple request and responses in multiple connections using
HTTP/1.x as well. HTTP/2 changes nothing here (except it uses only one
connection, but it's not important from the basic architecture point of
view).
>
> Is every single stream correspond to a thread. If not, how can Nginx
> provide multiple parallel requests handling. If you can locate the
> correspond code for me, that would be great
>
No, nginx uses asynchronous non-blocking event-driven architecture
instead of mapping requests into separate threads.
It have used multiplexing of requests handling in single process many
years before HTTP/2 was invented.
A more detailed explanation can be found here:
https://www.nginx.com/blog/inside-nginx-how-we-designed-for-performance-scale/
wbr, Valentin V. Bartenev
More information about the nginx
mailing list