Protobuf的优点
为什么使用Protobuf?
对于App网络传输协议,我们比较常见的、可选的,有三种,分别是json/xml/protobuf,老规矩,我们先分别来看看这三种格式的优缺点:
优点:
- json优点就是较XML格式更加小巧,传输效率较xml提高了很多,可读性还不错。
- xml优点就是可读性强,解析方便。
- protobuf优点就是传输效率快(据说在数据量大的时候,传输效率比xml和json快10-20倍),序列化后体积相比Json和XML很小,支持跨平台多语言,消息格式升级和兼容性还不错,序列化反序列化速度很快。
缺点:
- json缺点就是传输效率也不是特别高(比xml快,但比protobuf要慢很多)。
- xml缺点就是效率不高,资源消耗过大。
- protobuf缺点就是使用不太方便。
在一个需要大量的数据传输的场景中,如果数据量很大,那么选择protobuf可以明显的减少数据量,减少网络IO,从而减少网络传输所消耗的时间。考虑到作为一个主打社交的产品,消息数据量会非常大,同时为了节约流量,所以采用protobuf是一个不错的选择。
Protobuf的优点相关推荐
- 三种通用应用层协议protobuf、thrift、avro对比
Google protobuf: 优点 二进制消息,性能好/效率高(空间和时间效率都很不错) proto文件生成目标代码,简单易用 序列化反序列化直接对应程序中的数据类,不需要解析后在 ...
- Protobuf使用规范分享
Protobuf使用规范分享 一.Protobuf 的优点 Protobuf 有如 XML,不过它更小.更快.也更简单.它以高效的二进制方式存储,比 XML 小 3 到 10 倍,快 20 到 100 ...
- linux加protobuf变量环境,protobuf简单介绍和ubuntu 16.04环境下安装教程
protobuf简单介绍 protobuf是谷歌的开源序列化协议框架,结构类似于XML,JSON这种,显著的特点是二进制的,效率高,主要用于通信协议和数据存储等方面,算是一种结构化数据的表示方法. p ...
- pythongoogle.probuf.timestamp_gRPC快速入门(一)——Protobuf简介
gRPC快速入门(一)--Protobuf简介 一.Protobuf简介 1.Protobuf简介 Protobuf即Protocol Buffers,是Google公司开发的一种跨语言和平台的序列化 ...
- Protobuf数据格式解析
Protobuf数据格式解析 Protobuf是Google开源的一款类似于Json,XML数据交换格式,其内部数据是纯二进制格式,不依赖于语言和平台,具有简单,数据量小,快速等优点.目前用于序列化与 ...
- 开源项目SMSS发开指南(三)——protobuf协议设计
本文的第一部分将介绍protobuf使用基础以及如何利用protobuf设计通信协议.第二部分会给出smss项目的协议设计规范和源码讲解. 一.Protobuf使用基础 什么是protobuf pro ...
- protobuf网络传输协议的优缺点
为什么使用protobuf? protobuf常使用于作为C/S之间的数据传输的序列化工具,可以使用protobuf实现rpc框架的通信传输. 对于App网络传输协议,我们比较常见的.可选的,有三种, ...
- Google Protobuf 实践使用开发
Android 敏捷开发助手 Lottie动画 轻松使用 PNG.JPG等普通图片高保真转SVG图 Android 完美的蒙层方案 Android MMKV框架引入使用 强大无匹的自定义下拉列表 Go ...
- python读写protobuf
0. 前期准备 官方protobuf定义 https://code.google.com/p/protobuf/ python使用指南 https://developers.google.co ...
最新文章
- 使用AD8302进行检波
- Rushcrm:客户关系管理适合的才是好的
- graphpad做折线图坐标轴数字_多组数据制作折线图,四步让你的图表实用又美观,老板看了都说好...
- php 入口文件引入取别名,php命名空间别名/导入
- 比较两个引用的几种方法
- dicom文件_DICOM数据转成NIfTI数据
- PHP迸发,PHP 开发 「十宗罪」
- python bytes查找位置_Python进阶5---StringIO和BytesIO、路径操作、OS模块、shutil模块
- 红外倒车雷达原理图_汽车里的毫米波雷达你知多少?
- Swift - 触摸事件响应机制(UiView事件传递)
- Memcache集群安装与配置
- 太干了,Android 抓包姿势总结!
- 区块链会计案例_或许你也曾想过:区块链正在改变着会计行业!
- 计算机if函数自动填充,Excel表格函数怎么能实现自动填充-excel填充函数,excel表格根据公式自动填充...
- photoshop之合并图层
- android悬浮功能实现,Android利用悬浮按钮实现翻页效果
- 关于HTML中的滚动条
- java execute、executeQuery和executeUpdate之间的区别
- CSAPP lab2 经典的bomblab二次学习
- web漏洞之sql注入
热门文章
- 毕业设计一周一记06
- 解决安卓SDK更新连不通问题
- Android利用Filter过滤数据
- Properties类 解析xml文件问题
- 实现编辑商品信息功能
- ios php mysql实例_如何用PHP/MySQL为 iOS App 写一个简单的web服务器(译) PART1
- mysql 类似wm concat_oracle中有没有类似于mysql中的group_concat的函数?
- 爬虫获取不到网页完整源码_你的第一只网络爬虫
- 中国红+金牛|传统农历年新年新春海报稳妥设计方案!
- 中国风吉祥纹样底纹背景,艾草绿和天青色趋势色彩