最近有项目中需要跨语言调用,了解了下hessian协议,感觉好像是http+自己的序列化。但是跨语言调用的时候复杂对象应该是不能序列化的,只能走json。都是ip+端口调用这样hessian的优势是什么?hessian没怎么用过,理解比较浅
认证高级PHP讲师
hessian也是輕量級的 ws服務,好處是不需要關心過程,呼叫時就像呼叫本地一樣,畢竟是RMI,http的話,需要自己做好物件的解析,
hessian是一個輕量級的RPC服務,是基於Binary-RPC協定實現的,他會序列化反序列化你的實例。 優勢:
方便呀,很多事情你不用管,可以穿文件呀,数据大点也可以呀
-----from dubbo的文檔,hessian的一段描述,你可以看下-----基於Hessian的遠端呼叫協定。
連接個數:多連接連接方式:短連接傳輸協定:HTTP傳輸方式:同步傳輸序列化:Hessian二進位序列化適用範圍:傳入傳出參數資料包較大,提供者比消費者個數多,提供者壓力較大,可傳文件。 適用場景:頁面傳輸,檔案傳輸,或與原生hessian服務互通(1) 限制:
參數及返回值需實現Serializable接口參數及返回值不能自定義實現List, Map, Number, Date, Calendar等接口,只能用JDK自帶的實現,因為hessian會做特殊處理,自定義實現類中的屬性值都會遺失。
hessian也是輕量級的 ws服務,好處是不需要關心過程,呼叫時就像呼叫本地一樣,畢竟是RMI,http的話,需要自己做好物件的解析,
hessian是一個輕量級的RPC服務,是基於Binary-RPC協定實現的,他會序列化反序列化你的實例。
優勢:
-----from dubbo的文檔,hessian的一段描述,你可以看下-----
基於Hessian的遠端呼叫協定。
連接個數:多連接
連接方式:短連接
傳輸協定:HTTP
傳輸方式:同步傳輸
序列化:Hessian二進位序列化
適用範圍:傳入傳出參數資料包較大,提供者比消費者個數多,提供者壓力較大,可傳文件。
適用場景:頁面傳輸,檔案傳輸,或與原生hessian服務互通
(1) 限制:
參數及返回值需實現Serializable接口
參數及返回值不能自定義實現List, Map, Number, Date, Calendar等接口,只能用JDK自帶的實現,因為hessian會做特殊處理,自定義實現類中的屬性值都會遺失。