2016 - 2024

感恩一路有你

redis默认是aof还是rdb 有Protocol buffer这种轻便的序列化反序列化工具,Json为什么还会大量使用?

浏览量:3055 时间:2021-03-17 21:10:01 作者:admin

有Protocol buffer这种轻便的序列化反序列化工具,Json为什么还会大量使用?

原因很简单:

1、JSON是JavaScript本机支持,没有外部依赖项

2、JSON有人眼可读性

3、开发人员偷懒

关于序列化协议和框架,估计可以创建一个百科全书,比如:XML、JSON、bson、Hessian,协议缓冲区…

有很多不受欢迎的,排名不分先后。

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

二进制协议的优点是体积小、效率高。例如,协议缓冲区可以用来将数据压缩成位,序列化和反序列化具有良好的性能,非常适合各种系统通信和接口调用。

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

文本协议恰恰相反,数据量大,性能差,但能满足可读性要求。例如,我们可以很容易地理解JSON或人肉结构数据的一部分。对于快速开发和web开发来说,它可以提高开发效率,开发人员不必过于关注协议或框架,只关注业务。

我的观点如下:

1。对于具有稳定服务和高性能要求的场景,应优先考虑二进制序列化协议,如协议缓冲区

2。对于性能要求低、业务更改频繁的场景,应优先考虑JSON和XML等文本协议

区别:

Dubbo默认协议:

单TCP长连接,Hessian二进制序列化和NiO不适合大量嵌入式服务与HTTP通信

HTTP

!HTTP

]作为默认的服务提供程序,序列化接口应该实现为自己的可序列化参数和返回值,以及用户定义的接口,如list、map、,数字、日期、日历等

适合传输大数据包,提供商多于消费者,提供商压力更大。

hessian与dubbo协议的区别?

简单一点,HTTP是协议,RPC是概念!RPC可以基于HTTP协议(feign)、TCP协议(netty)、RMI协议(soap)和web服务(XML-RPC)框架实现。在传输过程中,由于序列化方法的不同,也出现了一些框架和协议,如Dubbo中的Dubbo协议、grpc protobuf序列化协议等。实际上,它们都是基于远程调用的概念。什么是远程呼叫?

关键是RPC是远程调用。远程调用是客户端通过上述协议向服务器发送接口、参数、参数类型、方法、返回值、返回值类型等(称为方法签名),通知服务器要调用的接口方法。这个过程就是RPC的实现过程!HTTP和RPC是两码事

!在性能方面,HTTP本身是基于TCP协议的,属于应用层协议,所以HTTP协议本身在实现过程中会占用大量的资源(内存、带宽等)。在性能方面,它肯定不如直接通过TCP实现的RPC协议快。不管HTTP有多优化,它绝对没有TCP那么快!另一方面,TCP依赖于字节码。目前常用的是将客户端调用的接口信息以序列化的方式发送到服务器端。序列化框架包括许多内容(Hession、protobuf、kryo等)。Kryo具有最高的序列化性能,protobuf具有序列化后最小的字节码)。序列化后的字节码越小,占用的带宽越小,序列化时间越长,线程IO延迟越短,线程IO延迟越小。因此,在具体的应用层,有很多技术可以讨论。您可以根据自己的硬件能力选择相应的技术

!欢迎热爱科技的人们来探索

微服务调用为啥用RPC框架,http不更简单吗?

对于新程序员来说,为了提高自己的编程能力,从老程序员的角度出发,我给大家以下建议:1。养成良好的编程习惯。

当高楼从地面升起时,基本技能非常重要。新手一定要有耐心,从注解、缩进、变量命名这些最基本的入手,培养自己良好的编程习惯。

2. 熟悉软件工程的思想

软件开发是一种团队合作。熟悉一些团队发展的工具和想法,将有助于你将来与同事合作。

软件开发是用计算机语言表达想法的过程。软件常用:分治、递归等基本思想理解。设计模式的设计原则也应该记住。总之,多读书,提高自己的理论水平。

4. 广泛参与

例如,你应该了解前卫技术的原理,如大数据、云计算、物联网、人工智能、区块链等。学习更多的商业知识

这是非常重要的,商业是技术的前提。这也是程序员和高级架构师必须掌握的能力。对于常见的电子商务系统、ERP系统、CRM系统、客户服务系统等大业务模块,各模块之间的关系是什么,掌握的越多越好。

6. 锻炼自己写文档的能力

软件开发的前台阶段是设计阶段。关注自己的文档能力对于将复杂的业务问题转化为计算机问题至关重要。

最后,祝您在编程的道路上一切顺利。

redis默认是aof还是rdb hessian序列化优缺点 php反序列化漏洞原理

版权声明:本文内容由互联网用户自发贡献,本站不承担相关法律责任.如有侵权/违法内容,本站将立刻删除。