Hessian

本文介绍 Hessian 序列化

1 介绍

Hessian序列化是一种支持动态类型、跨语言、基于对象传输的网络协议,Java对象序列化的二进制流可以被其他语言(如,c++,python)。特性如下:

  1. 自描述序列化类型。不依赖外部描述文件或者接口定义,用一个字节表示常用的基础类型,极大缩短二进制流。
  2. 语言无关,支持脚本语言
  3. 协议简单,比Java原生序列化高效
  4. 相比hessian1,hessian2中增加了压缩编码,其序列化二进制流大小是Java序列化的50%,序列化耗时是Java序列化的30%,反序列化耗时是Java序列化的20%。

2 使用方式

在 Dubbo 框架中,当使用 dubbo 通信协议时,默认使用 Hessian2 作为序列化。

2.1 配置启用

  1. # application.yml (Spring Boot)
  2. dubbo:
  3. protocol:
  4. serialization: hessian2

  1. # dubbo.properties
  2. dubbo.protocol.serialization=hessian2
  3. # or
  4. dubbo.consumer.serialization=hessian2
  5. # or
  6. dubbo.reference.com.demo.DemoService.serialization=hessian2

  1. <dubbo:protocol serialization="hessian2" />
  2. <!-- or -->
  3. <dubbo:consumer serialization="hessian2" />
  4. <!-- or -->
  5. <dubbo:reference interface="xxx" serialization="hessian2" />

最后修改 September 13, 2024: Refactor website structure (#2860) (1a4b998f54b)