如前几章所述,gRPC 应用程序使用 RPC 通过网络进行通信。对于实现RPC 的底层细节、所使用的消息编码技术以及在网络中的运行方式,这些方面都无须 gRPC 应用程序开发人员担心,只需使用服务定义来生成所选语言对应的服务器端代码和客户端代码即可。所有的底层通信细节都是由所生成的代码实现的,你需要做的就是处理高层级的抽象。但是,在构建基于 gRPC 的复杂系统并在生产环境中运行它们时,从根本上了解 gRPC 的工作原理十分重要。
本章将探索 gRPC 通信流的实现方式、所使用的编码技术以及 gRPC 中的底层网络通信技术的使用方法等,介绍涉及客户端调用给定 RPC 的消息流,并探讨其他相关问题,包括如何将其编排为网络上的 gRPC 调用、如何使用网络通信协议、如何在服务器端解排,以及如何调用对应的服务和远程函数等。
另外,本章将 protocol buffers 作为 gRPC 的编码技术,将 HTTP/2 作为gRPC 的通信协议,并介绍它们的实现方法,最后研究 gRPC 实现架构以及围绕它所构建的语言支持栈。尽管对大多数 gRPC 应用程序来说,这里要讨论的底层细节作用有限,但在设计复杂的 gRPC 应用程序或设法调试现有的应用程序时,理解底层通信细节很有帮助。
文档更新时间: 2023-09-02 04:46 作者:Minho