grpc-go源码剖析与实战|grpc-go源码剖析七十五之多路复用简单介绍以及测试用例说明()

本小节开始介绍grpc框架中的多路复用相关原理。

1、多路复用可以实现什么功能?或者可以使用在什么场景下?
可以使用同一链接处理多个服务请求;
  • 同一服务的多次请求,
  • 或者不同服务的多次请求;
从而提供了链接的利用率
2、grpc框架为什么会选择HTTP2作为传输协议呢?
【grpc-go源码剖析与实战|grpc-go源码剖析七十五之多路复用简单介绍以及测试用例说明()】至少原因之一:
  • http1.1不支持多路复用;
    • 在HTTP1.1中每一次的请求都要建立一次连接;
    • 一个完整的服务请求,可能需要建立多次连接,
    • 既然多次请求都是为了完成一次完整的服务请求,那么为什么多次请求不使用同一个连接呢?使用同一个连接的话,肯定会减少连接的创建时间,资源消耗等
  • 而在HTTP2中,一次连接建立后,可以支持多次服务请求;提高了连接利用率

    推荐阅读