一、grpc是什么?
gRPC 是一个高性能、开源和通用的 RPC 框架,其由Google 主要面向移动应用开发 并基于HTTP/2 协议标准而设计,基于ProtoBuf(Protocol Buffers ) 序列化协议开发,目前提供 C、Java 和 Go 语言版本,分别是:grpc, grpc-java, grpc-go. 其中 C 版本支持 C, C++, Node.js, Python, Ruby, Objective-C, PHP 和 C# 支持.
二、protobuf简单介绍
protobuf 即 Protocol Buffers,是一种轻便高效的结构化数据存储格式,与语言、平台无关,可扩展可序列化。protobuf 性能和效率大幅度优于 JSON、XML 等其他的结构化数据格式。protobuf 是以二进制方式存储的,占用空间小,但也带来了可读性差的缺点。protobuf 在通信协议和数据存储等领域应用广泛。例如著名的分布式缓存工具Memcached的 Go 语言版本groupcache就使用了 protobuf 作为其 RPC 数据格式。
Protobuf 在 .proto 定义需要处理的结构化数据,可以通过 protoc 工具,将 .proto 文件转换为 C、C++、Golang、Java、Python 等多种语言的代码,兼容性好,易于使用。
java中的dubbo dubbo/rmi/hessian messagepack 如果你懂了协议完全有能力自己去实现一个协议
●习惯用 Json、XML 数据存储格式的你们,相信大多都没听过Protocol Buffer
●Protocol Buffer 其实 是 Google出品的一种轻量 & 高效的结构化数据存储格式,性能比 Json、XML 真的强!太!多!
●protobuf经历了protobuf2和protobuf3,pb3比pb2简化了很多,目前主流的版本是pb3