分享

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

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



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

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

服务接口定义实例

使用Protocol Buffers来定义服务:
Python代码
  1. message HelloRequest {  
  2.   string greeting = 1;  
  3. }  
  4.   
  5. message HelloResponse {  
  6.   string reply = 1;  
  7. }  
  8.   
  9. service HelloService {  
  10.   rpc SayHello(HelloRequest) returns (HelloResponse);  
  11. }  

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

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多