最近有项目中需要跨语言调用,了解了下hessian协议,感觉好像是http+自己的序列化。但是跨语言调用的时候复杂对象应该是不能序列化的,只能走json。都是ip+端口调用这样hessian的优势是什么?hessian没怎么用过,理解比较浅
迷茫2017-04-18 09:40:44
hessian是一个轻量级的RPC服务,是基于Binary-RPC协议实现的,他会序列化反序列化你的实例。
优势:
方便呀,很多事情你不用管,可以穿文件呀,数据大点也可以呀
-----from dubbo的文档,对hessian的一段描述,你可以看下-----
基于Hessian的远程调用协议。
连接个数:多连接
连接方式:短连接
传输协议:HTTP
传输方式:同步传输
序列化:Hessian二进制序列化
适用范围:传入传出参数数据包较大,提供者比消费者个数多,提供者压力较大,可传文件。
适用场景:页面传输,文件传输,或与原生hessian服务互操作
(1) 约束:
参数及返回值需实现Serializable接口
参数及返回值不能自定义实现List, Map, Number, Date, Calendar等接口,只能用JDK自带的实现,因为hessian会做特殊处理,自定义实现类中的属性值都会丢失。