微服务之ProtoBuf协议

微服务之ProtoBuf协议

序列化主要考虑占用字节的大小,以及是否支持跨语言。

Xml、Json是目前常用的数据交换格式,它们直接使用字段名称维护序列化后类实例中字段与数据之间的映射关系,一般用字符串的形式保存在序列化后的字节流中。消息和消息的定义相对独立,

Xml、Json可读性较好

Xml、Json序列化后的数据字节很大,序列化和反序列化的时间较长,数据传输效率不高

Protobuf采用了二进制字节的序列化方式,用字段索引和字段类型通过算法计算得到字段之前的关系映射,从而达到更高的时间效率和空间效率,Protobuf特别适合对数据大小和传输速率比较敏感的场合使用
Protobuf序列后体积相比Xml、Json很小,适合网络传输。Protobuf 编码后体积大约是 JSON 的四分之一,是 XML 的五分之一

Protobuf支持跨平台多语言。

Protobuf消息格式升级和兼容性还不错。

Protobuf序列和反序列化速度很快,快于Xml、Json速度。

Protobuf应用不广(相比Xml、Json)。

Protobuf二进制格式可读性差。

Protobuf缺乏自描述。

 

posted @   delphi中间件  阅读(199)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
历史上的今天:
2020-08-11 关于olevariant数据序列的续说
2020-08-11 mormot对windows websocket的封装
2020-08-11 mormot对http.sys的封装
2017-08-11 怎样设计REST中间件---中间件JSON对数据库数据的组织
2016-08-11 为方便二层升三层新增的远程方法QuerySql6()
2014-08-11 中间件集群的协议和算法的类语言描述
点击右上角即可分享
微信分享提示