grpc套路(零点一)什么是protobuffer?

摘抄一段别人的描述:Protocol Buffers 是一种轻便高效的结构化数据存储格式,可以用于结构化数据串行化,或者说序列化。它很适合做数据存储或 RPC 数据交换格式。可用于通讯协议、数据存储等领域的语言无关、平台无关、可扩展的序列化结构数据格式。看到这个描述第一感觉是云里雾里,研究后总结protobuf的以下几点:

  • grpc作为rpc的一种,肯定有服务间的网络调用,调用就一定会有数据的传输,而这个数据的传输就用的是protobuf去序列化和反序列化的,一个请求的内容在调用方序列化通过网络传送到服务方,服务方就能用protobuf反序列化出来,后面的文章会讲解细节。

  • protobuf有一个类似thrift的IDL(接口描述语言),就是描述一个对象包括什么字段,一个服务包括什么接口,简单如下:

    message Person {
    string name = 1;
    int32 id = 2;
    string email = 3;
    }

  • protobuf还有专门的工具生成对象代码,你用这些代码就能将对象序列化到文件或者流中,当然也能反序列化成对象,后面的例子会具体介绍。

  • protobuf支持多种语言,常见的比如go,c++,java,php等,具体可以参考官网

本作品采用《CC 协议》,转载必须注明作者和本文链接
胡军
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!