Java常用的通信协议效率比较
本文比较了RMI,Hessian,Burlap,Httpinvoker,Web service等5种通讯协议的在不同的数据结构和不同数据量时的传输性能。1. 简介RMI是java语言本身提供的远程通讯
RMIHessianBurlapHttpinvokerWebservice 5 本文比较了,,,,等种通讯 协议的在不同的数据结构和不同数据量时的传输性能。 1. 简介 RMI javaEJB 是语言本身提供的远程通讯协议,稳定高效,是的基础。但它只 JAVA 能用于程序之间的通讯。 HessianBurlap cauchoHTTP 和是公司提供的开源协议,基于传输,服务端 不用开防火墙端口。协议的规范公开,可以用于任意语言。 Httpinvoker SpringFrameworkJAVA 是提供的远程通讯协议,只能用于程序 SpringFramework 间的通讯,且服务端和客户端必须使用。 Webservice SOAP 是连接异构系统或异构语言的首选协议,它使用形式通讯, 可以用于任何语言,目前的许多开发工具对其的支持也很好。 2. 测试结果 测试结果显示,几种协议的通讯效率依次为: RMI>Httpinvoker>=Hessian>>Burlap>>Webservice RMI JAVA 不愧是的首选远程调用协议,非常高效稳定,特别是在大数据量的情 况下,与其他通讯协议的差距尤为明显。 Httpinvoker javaRMI 使用的序列化技术传输对象,与在本质上是一致的。 HttpinvokerRMI 从效率上看,两者也相差无几,与的传输时间基本持平。 Hessian RMI 在传输少量对象时,比还要快速高效,但传输数据结构复杂的对 RMI20% 象或大量数据对象时,较要慢左右。 Burlap 1RMI3 仅在传输条数据时速度尚可,通常情况下,它的耗时是的倍。 WebService WebService 的效率低下是众所周知的,平均来看,的通讯毫时 RMI10 是的倍。 3. 结果分析 1 、直接调用 0 直接调用的所有毫时都接近,这说明程序处理几乎没有花费时间,记录的全部 时间都是远程调用耗费的。

