Dubbo是RPC框架,需要远程调用,那么就需要把请求和响应做序列化和反序列化。Dubbo目前支持多种序列化协议。
在Dubbo 3.0 中,内置了3种序列化协议:
比较常见的有:
这里面,hessian2是默认的,主要是因为他的性能是最好的,并且它支持跨语言。
而这几年,各种序列化框架层出不穷,今天出了一个号称速度快,明天出一个号称跨语言。总之有很多,于是在Dubbo的扩展中,就增加支持很多其他的序列化协议:
其中包括了avro、fastjson、fst、fury、gson、Jackson、kryo、msgpack、protobuf和protostuff等。
这里面很多框架其实性能都比较好,大有代替Hession的势头,比如Kryo、FST、fury等。
比如蚂蚁出的fury框架,号称比hessian快100倍,以下是他的一个整体介绍。详见:https://developer.aliyun.com/article/992485