前面的代码都是一个gRPC服务器端运行一个gRPC服务,客户端一个connection绑定一个gRPC客户端服务,同时gRPC允许一个gRPC服务器绑定多个gRPC服务,同理客户端也一样,本节我们来代码实战下。
本系列gRPC学习大纲:
1. 多路复用原理
http2
协议传输的最小单元是帧,帧种类比较多:有SETTING
帧、HEADERS
帧、DATA
帧等。- 每个
Stream
上会运行一组http2
帧,http2
帧带有StreamID
,用于区分各Stream帧。 http2
协议允许在一个connection
上运行多组http2
帧
通过上面说明可知,在同一个connection
上,不同StreamID
的帧相互穿插,交叠发送,而不需要保证同一个StreamID
的帧相连。某个Stream
异步处理慢,不影响其他StreamID
的帧接收与发送。
该模式充分利用connection
资源,普通业务系统建立一条连接即可满足gRPC
的服务使用需求,除非是高并发,对性能