序列化和反序列化的解释

1. 定义

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

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

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

序列化的速度

序列化后的传输数据体积

3. Java 序列化的缺陷

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

相关推荐
DashVector17 小时前
如何通过HTTP API删除Doc
大数据·后端·云计算
马卡巴卡17 小时前
Kafka:消费者重试与死信队列的对应模式分析
后端
小周在成长17 小时前
Java ArrayList(集合) 常用 API
后端
落枫5917 小时前
String.join(",", List) VS List.stream().collect(Collectors.joining(",")) 哪种效率好
后端
咕白m62517 小时前
Python 实现 Word 到 Markdown 的转换
后端·python
哈哈哈笑什么17 小时前
企业级CompletableFuture并行化完整方案,接口从10s到100ms
java·后端·spring cloud
脑极体17 小时前
蓝河入海:Rust先行者vivo的开源之志
开发语言·后端·rust·开源
源代码•宸17 小时前
GoLang并发简单例子(goroutine + channel + WaitGroup)
开发语言·经验分享·后端·学习·golang
稚辉君.MCA_P8_Java17 小时前
Gemini永久会员 Go 返回最长有效子串长度
数据结构·后端·算法·golang