当前位置:首页 » 《随便一记》 » 正文

序列化与反序列化

19 人参与  2022年11月15日 09:17  分类 : 《随便一记》  评论

点击全文阅读


在这里插入图片描述

重要指标

通用性:支持跨语言、跨平台易用性:便于使用、调试,开发上手快强健性/鲁棒性:成熟度高,文档社区完善可扩展性/兼容性:新旧数据结构的变更扩展无影响性能:编解码时间和空间开销小安全性/访问限制:跨网安全 

组件结构

IDL(Interface description language)文件:参与通讯的各方需要对通讯的内容需要做相关的约定

IDL Compiler:IDL文件中约定的内容为了在各语言和平台可见,需要有一个编译器,将IDL文件转换成各语言对应的动态库

Stub/Skeleton Lib:负责序列化和反序列化的工作代码

Stub部署在客户端;Skeleton部署在服务端

Client/Server:指的是应用层程序代码,他们面对的是IDL所生存的特定语言的class或struct

底层协议栈和互联网:序列化之后的数据通过底层的传输层、网络层、链路层以及物理层协议转换成数字信号在互联网中传递

框架

XML&SOAP

标准的XML描述格式有两种:DTD(Document Type Definition)和XSD(XML Schema Definition)

SOAP是一种采用XML进行序列化和反序列化的协议,它的IDL是WSDL. 而WSDL的描述文件是XSD,而XSD自身是一种XML文件JSON(Javascript Object Notation)Thrift

Facebook的方案,二进制存储,需要IDL,非自描述
Thrift序列化之后是Binary,不具备可读性
Thrift的序列化和框架紧耦合,不适合数据持久化协议

Protobuf

纯粹的展现层协议(Presentation Layer)
标准的IDL和IDL编译器

DIMBIN

针对大量数据网络传输设计的序列化方案,用于储存多维数组

Hession
dubbo RPC默认启用BenchmarkKryo

对比

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述


点击全文阅读


本文链接:http://zhangshiyu.com/post/48443.html

<< 上一篇 下一篇 >>

  • 评论(0)
  • 赞助本站

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

关于我们 | 我要投稿 | 免责申明

Copyright © 2020-2022 ZhangShiYu.com Rights Reserved.豫ICP备2022013469号-1