在实际的应用之前,我们再了解以下protobuf。
通过比较它与其他数据格式进行比较,可以使我们更好的认识它的应用场景。下面与XML,JSON进行一个简单的比较。
-
JSON:一般在web项目中广泛使用,主要是由于浏览器的支持非常好,内部构建了与多函数来支持JSON。具有可读性。
-
XML:在WebService中广泛使用,但是过于冗余(毕竟是通过标签进行标识)。也具有可读性。
-
ProtoBuf:适合高性能,对响应速度有要求的数据传输场景。由于是二进制数据格式需要编码和解码。不具有可读性。在官网上描述ProtoBuf比XML小3到10倍,快20到100倍。
结论: 在一个需要大量的数据传输的场景中,如果数据量很大,那么选择protobuf可以明显的减少数据量,减少网络IO,从而减少网络传输所消耗的时间。
在上面我们对ProtoBuf与其他数据格式做了比较,只简单的了解到它的小和快,可这是如何实现的呢?那么我们在下面对ProtoBuf存储原理做一个简要的介绍。以下内容转载自博文-