前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >RPC序列化方式优缺点

RPC序列化方式优缺点

作者头像
少羽大怪兽
发布2021-05-17 15:56:38
1.1K0
发布2021-05-17 15:56:38
举报
文章被收录于专栏:架构技术架构技术架构技术

RPC协议作用

  RPC协议是基于TCP、UDP等底层协议传输,在应用层用于协定服务方与调用方如何通信的规范。通过统一的协议,可以让服务方与调用方可以正确解析互相发送的数据。

RPC序列化选择的维度

  1. 性能及效率:指讲一个对象序列化所花费的时间;
  2. 空间开销:指的是序列化一个对象所占用的空间。因为RPC中需要在序列化后进行通信,将对象在网络中传输,所以同样会影响带宽及包传输速率;
  3. 安全性:如果安全性存在问题,则容易被攻击入侵;
  4. 通用性和兼容性:是否支持跨语言、跨平台,以及支持的序列化对象的程度。例如有些协议对一些数据类型不支持等问题;

各种序列化方式的对比

优点

缺点

JAVA原生

兼容性较好

性能较差,序列化后对象较大,不支持跨语言

JSON

可读性好,支持跨语言

性能及空间开销较大

Hessian

性能及空间开销小,效率高,较多语言支持

兼容性不太好(Linked 系列,LinkedHashMap、LinkedHashSet 等,但是可以通过扩展 CollectionDeserializer 类修复;Locale 类,可以通过扩展 ContextSerializerFactory 类修复;Byte/Short 反序列化的时候变成 Integer)

Protobuf

性能及空间开销小,效率高。通过IDL支持跨语言类型,效率高

单语言时需要定义IDL,如单纯java语言,可使用ProtoStuff。 不支持 null;ProtoStuff 不支持单纯的 Map、List 集合对象,需要包在对象里面。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2021-05-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
文件存储
文件存储(Cloud File Storage,CFS)为您提供安全可靠、可扩展的共享文件存储服务。文件存储可与腾讯云服务器、容器服务、批量计算等服务搭配使用,为多个计算节点提供容量和性能可弹性扩展的高性能共享存储。腾讯云文件存储的管理界面简单、易使用,可实现对现有应用的无缝集成;按实际用量付费,为您节约成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档