如图 4-12 所示,gRPC 实现架构可以分为多层。最基础的是 gRPC 核心层,它为其上的层抽象了所有的网络操作,使得应用程序开发人员可以很容易地通过网络发送 RPC 调用。gRPC 核心层还提供了对核心功能的扩展,其中一些扩展点是认证过滤器,用来处理对安全和截止时间(deadline)过滤器的调用,从而实现调用截止时间等功能。
gRPC 原生支持 C/C++ 语言、Go 语言和 Java 语言,它还提供了很多流行语言的绑定,如 Python、Ruby、PHP 等,这些语言绑定是对低层级C API 的包装器。
应用程序代码构建在这些语言绑定之上。应用程序层处理应用程序逻辑和数据编码逻辑,在正常情况下,开发人员会使用不同语言所提供的编译器生成数据编码逻辑的源代码。如果使用 protocol buffers 来编码数据,就可以使用 protocol buffers 编译器来生成源代码。因此,开发人员可以通过调用生成源代码的方法来编写业务逻辑。
目前,本书已经介绍了 gRPC 应用程序的大部分底层实现和执行细节。应用程序开发人员最好对所用技术的底层细节有一定的了解。这不仅有助于设计稳健的应用程序,还能更容易地解决应用程序中的问题。
文档更新时间: 2023-09-02 05:28 作者:Minho