ProtoBuf与gRPC

         ProtoBuf 是一套接口描述语言(Interface Definition Language,IDL),类似于 Apache 的Thrift。相关处理工具主要是 protoc,基于 C++ 语言实现。用户写好 .proto 描述文件,之后便可以使用 protoc 自动编译生成众多计算机语言(C++、Java、Python、C#、Golang 等)的接口代码。这些代码可以支持 gRPC,也可以不支持。

        gRPC 是 Google 开源的 RPC 框架和库,已支持主流的计算机语言。底层通信采用 HTTP2 协议,比较适合互联网场景。gRPC 在设计上考虑了跟 protoBuf 的配合使用。

        两者分别解决不同的问题,可以配合使用,也可以分开单独使用。典型的配合使用场景是,写好 .proto 描述文件定义 RPC 的接口,然后使用 protoc (带 gRPC 插件)基于 .proto 模板自动生成客户端和服务端的接口代码。

你可能感兴趣的:(ProtoBuf与gRPC)