grpc原理深入解析

來源:魅力女性吧 2.65W
grpc原理深入解析

户端 Stub(GreeterBlockingStub) 調用 sayHello(request),發起 RPC 調用

通過 DnsNameResolver 進行域名解析,獲取服務端的地址信息(列表),隨後使用默認的 LoadBalancer 策略,選擇一個具體的 gRPC 服務端實例

如果與路由選中的服務端之間沒有可用的連接,則創建 NettyClientTransport 和 NettyClientHandler,發起 HTTP/2 連接

對請求消息使用 PB(Protobuf)做序列化,通過 HTTP/2 Stream 發送給 gRPC 服務端

接收到服務端響應之後,使用 PB(Protobuf)做反序列化

回調 GrpcFuture 的 set(Response) 方法,喚醒阻塞的客户端調用線程,獲取 RPC 響應。

熱門標籤