zoukankan      html  css  js  c++  java
  • MsgPack和Hessian序列化对比

    两者的区别:

      hessian序列化的时候,会写入字段名称,然后字段值,类似map。
      msgpack序列化的时候,不写入字段名字,会按字段顺序写入值,类似数组。



      hessian产生的数据包较大,msgpack产生的数据包较小。网络传输数据更小。
      序列化中hessian的性能较差
      msgpack性能更佳,(相当于数组取值)
      压测结果不同场景显示提高10% - 30%。(从数组取值比map高效)
      hessian的扩展性更好,上下兼容时,可以随意添加字段位置(相当于map可以随便赋值)
      msgpack的性能更佳,上下兼容时,需要保证字段顺序(包括枚举顺序)。

    另外:hessian对Map/List等集合支持就是全变成最普通的Hashmap或者ArrayList,一些指定的类型会丢失(例如LinkedHashMap-->HashMap),但是支持一些匿名的Map/List等集合类;
    而msgpack会保留集合类的类型(例如LinkedHashMap),但是不支持一些匿名集合类(例如List.subList(),Map.keySet(),Collections.emptyList(),Guava的匿名集合类,数据库查询结果直接返回的list)

    为了灵活:使用hessian序列化,为了性能,可以使用msgpack序列化!!


    最后
    接口类作为接口契约的重要组成部分,请尽量保证客户端与服务端的接口类文件的完全一致性(请引用同样的jar包!!)

    如果在bean中要增加新字段,请务必保证新字段加在字段序的最后!

  • 相关阅读:
    lxml webdriver 抓取街拍
    python 正则抓取古诗词
    2021 最新版 Spring Boot 速记教程
    hbase 命令查看表大小
    Spring AOP,应该不会有比这更详细的介绍了!
    SpringBoot实战:整合Redis、mybatis,封装RedisUtils工具类等
    API接口的安全设计验证:ticket,签名,时间戳
    5.控制台输出空心菱形
    4.灯泡开关问题
    EXCEL函数
  • 原文地址:https://www.cnblogs.com/chenge-0401/p/9844175.html
Copyright © 2011-2022 走看看