![12857182b44a537588e9c25ff4c438b6.png](https://img-blog.csdnimg.cn/img_convert/12857182b44a537588e9c25ff4c438b6.png)
写在前面
![5b8e13c31fb7075cf14ae77d4fd5e2b4.png](https://img-blog.csdnimg.cn/img_convert/5b8e13c31fb7075cf14ae77d4fd5e2b4.png)
从上图和文档中我们可以了解到,用gRPC来进行远程服务调用就仅仅需要gRPC Stub(Client)用Proto Request向远方的gRPC Server发起服务调用,然后远方的gRPC Server通过Proto Response(s)将调用结果返回给gRPC Stub。
上面这段逻辑的背后,gRPC做了什么:
![2ad6be153cfb0a4ad3c6d7815f9be3ef.png](https://img-blog.csdnimg.cn/img_convert/2ad6be153cfb0a4ad3c6d7815f9be3ef.png)
一个gRPC从开始发起请求到返回总共要经历过序列化,编解码,以及网络传输这些内容。这些东西在我们使用gRPC框架做远程服务调用的时候完全感知不到!
至于gRPC的stub之间的连接管理,健康检查,负载均衡,异常重试,优雅启停机