欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

GRPC:谷歌发布的首款基于HTTP/2和protobuf的RPC框架

程序员文章站 2024-02-19 13:10:46
...

GRPC是一个高性能、开源、通用的RPC框架,面向移动和HTTP/2设计,是由谷歌发布的首款基于Protocol Buffers的RPC框架。 目前提供C、Java和Go语言版本,这三个版本的源码全都托管在Github上,分别是:grpc,grpc-java,grpc-go。其中C版本支持C,C++,Node.js,P

GRPC是一个高性能、开源、通用的RPC框架,面向移动和HTTP/2设计,是由谷歌发布的首款基于Protocol Buffers的RPC框架。

GRPC:谷歌发布的首款基于HTTP/2和protobuf的RPC框架

目前提供C、Java和Go语言版本,这三个版本的源码全都托管在Github上,分别是:grpc, grpc-java, grpc-go。其中C版本支持C,C++,Node.js,Python,Ruby,Objective-C,PHP 和 C#。

GRPC基于HTTP/2标准设计,带来诸如双向流、流控、头部压缩、单TCP连接上的多复用请求等特性。这些特性使得其在移动设备上表现更好,更省电和节省空间占用。

服务接口定义实例

使用Protocol Buffers来定义服务:

message HelloRequest {
  string greeting = 1;
}

message HelloResponse {
  string reply = 1;
}

service HelloService {
  rpc SayHello(HelloRequest) returns (HelloResponse);
}

Protocol Buffers简称protobuf是Google公司开发的一种数据描述语言,类似于XML能够将结构化数据序列化,可用于数据存储、通信协议等方面。它不依赖于语言和平台并且可扩展性极强。现阶段官方支持C++、JAVA、Python等三种编程语言,但可以找到大量的几乎涵盖所有语言的第三方拓展包。