序列化和反序列化的解释

1. 定义

后端服务都是基于微服务架构实现的。服务按照业务划分被拆分,实现了服务的解耦,但同时也带来了新的问题,不同业务之间通信需要通过接口实现调用。

两个服务之间要共享一个数据对象,就需要从对象转换成二进制流,通过网络传输,传送到对方服务,再转换回对象,供服务方法调用。这个编码和解码过程我们称之为序列化与反序列化

2. 衡量序列化框架好坏的标准

序列化的速度

序列化后的传输数据体积

3. Java 序列化的缺陷

无法跨语言, 如果是两个基于不同语言编写的应用程序相互通信,则无法实现两个应用服务之间传输对象的序列化与反序列化, C++ 写游戏服务,Java/Go 写周边服务,Python 写一些监控应用。
易被攻击
序列化后的流太大, Java 序列化中的编码耗时要比 ByteBuffer 长很多。

相关推荐
JELEE.2 小时前
Django登录注册完整代码(图片、邮箱验证、加密)
前端·javascript·后端·python·django·bootstrap·jquery
QX_hao4 小时前
【Go】--反射(reflect)的使用
开发语言·后端·golang
小坏讲微服务5 小时前
Docker-compose 搭建Maven私服部署
java·spring boot·后端·docker·微服务·容器·maven
yuuki2332335 小时前
【数据结构】用顺序表实现通讯录
c语言·数据结构·后端
你的人类朋友5 小时前
【Node】手动归还主线程控制权:解决 Node.js 阻塞的一个思路
前端·后端·node.js
史不了6 小时前
静态交叉编译rust程序
开发语言·后端·rust
码事漫谈7 小时前
C++中的多态:动态多态与静态多态详解
后端
码事漫谈7 小时前
单链表反转:从基础到进阶的完整指南
后端
与遨游于天地7 小时前
Spring解决循环依赖实际就是用了个递归
java·后端·spring