概述
在gRPC中,客户端应用可以像调用本地方法一样直接调用远程机器上服务端方法,帮助开发者更简单的创建分布式的应用和服务。和其他许多RPC系统一样,gRPC基于定义service的思想,指定一些带有参数和返回值的方法以供远程调用。服务端通过实现这些service接口在gRPC上处理客户端的请求。客户端拥有一个stub,它提供与服务器的方法相对应。
gRPC客户端和服务器可以在各种环境中运行并相互通信——并且可以用gRPC支持的任何语言编写,例如,您可以轻松地用Java创建gRPC服务器,用Go、Python或Ruby创建客户机。
注:下文中所有 RPC 代表 远程过程调用。
与 Protocol Buffers 的结合
默认情况下,gRPC使用Protocol Buffers作为数据传输层(由关于Protocol Buffers文章可以参阅我的另一个专栏Google Protocol Buffers),Protocol Buffers与gRPC结合时,使用protocol3语法