buffer这种轻便的序列化反序列化工具

更新时间:02-01 教程 由 离沫 分享

buffer这种轻便的序列化反序列化工具?

原因很简单:

1,json是JavaScript原生支持的,没有外部依赖;

2,json具有人眼可读性;

3,开发人员偷懒;

关于序列化的协议和框架,估计都可以出一本百科全书了,热门一点的如:

xml、json、bson、Hessian、protocol buffers...

还有很多小众冷门的,排名不分先后。

虽然有各种各样的协议和框架,但序列化本质上可以分为两种:

二进制协议,如 bson、Hessian、protocol buffers等,将数据转换为二进制形式。文本协议,如 xml,json 等,这类协议将数据转换为文本(字符串)的形式。

二进制协议的优点是体积小效率高,例如protocol buffers可以用将数据压缩到位(bit),序列化和反序列化的性能也很好,非常适用于各种系统通讯和接口调用。

但问题也在这里,二进制数据几乎没有可读性,所以在开发和调试程序时,对程序员来说就比较痛苦,尤其是频繁变化的数据结构。

文本协议则刚好相反,数据体积大,性能差,却能满足可读性要求。例如我们可以轻松看懂一段json,或者人肉构造数据。 对于快速开发和web开发来说,可以提高开发效率,开发人员不用过多关注协议或者框架,专注业务。

我的观点是:

1,对于业务稳定,性能要求极高的场景,优先使用 protocol buffers 等二进制序列化协议;

2,对于性能要求不高,业务变化频繁的场景,优先使用 json、xml 等文本协议;

声明:关于《buffer这种轻便的序列化反序列化工具》以上内容仅供参考,若您的权利被侵害,请联系13825271@qq.com
本文网址:http://www.25820.com/tutorial/14_2291940.html