临时

 

 

dubbo序列化。序列化在dubbo的应用中十分重要,不管是消费者与提供者之间参数的传递以及结果的传递都依赖于序列化与反序列化的过程,他们之间通过网络传输,所以序列化后的大小就是很重要的一个性能指标,为了通用性,序列化的跨语言性也至关重要。

protostuff与Kryo是性能比较好的两种序列化方式,但是Kryo对跨语言的支持不那么友好。 Kryo在类注册且reference关闭的情况下,序列化速度和大小明显 优于hessian和java,接近于protostuff。开启reference后序列化速度将明显变慢,开启reference这个选项后,相同的对象将被序列化为同一个byte[],默认关闭,如果要支持循环引用,则必须开启。就易用性方面:原生的protobuf,需要手写.proto文件(也就是定义协议),再通过编译生成相应的Java代码,再通过相应的API完成序列化和反序列化。编译生成的Java代码有上千行,而且对于框架有一点的“入侵性”。而protostuff这些都不需要,使用简单,protostuff对于POJO支持的很好。基于protostuff性能好,使用简单的特点,部门将protostuff集成到了dubbo中取代dubbo原有的序列化方式。dubbo支持扩展自定义序列化的方式依赖于SPI特性,默认序列化方式是Hessian2,SPI的接口为Serilization,我们只用实现Serilization接口,重写serilize与deserilize方法分别提供序列化与反序列化使用的类对象,而序列化与反序列化类对象也提供了一个规范,必须是InputObject与OutputObject的实现类,有了这一套扩展规范,很方便进行集成。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值