`

几种主要通信协议的性能比较

 
阅读更多

总体性能比较:
Socket(BIO/NIO)>RMI>HTTPInvoker>=Hessian>REST>>Burlap>EJB>>Web Service

 

如果协议设计的比较好,Socket性能毫无疑问是最高,同时灵活性和复杂度也最高,如果采用高效的网络框架如:Mina、Netty等可以降低开 发复杂度,一般在对性能有非常苛刻的条件下使用。

 

RMI的性能相对略低,但是与Socket还在同1个数量级,同时只能在Java系统间通信,如果是基于互联网使用,还存在穿越防火墙的问题

 

采用 Spring封装的方式使用比原始RMI方式性能略高,主要原因是:Spring采用了代理和缓存机制,节省了对象重新获取的时间。 HTTPInvoker是Spring特有的,只能在客户端和服务器端都采用Spring框架下使用,与RMI本质相同,使用java的序列化技术传输对 象,两者性能差别较小。

 

Hessian在数据量较小时性能表现出众,甚至比RMI还高,在数据结构复杂的对象或者大量数据对象时,较RMI要慢20%左右;Hessian的优点 是精简高效,同时可以跨语言使用,目前支持Java,C++, .net, python, ruby等语言。另外Hessian可以充分利用web容器的成熟功能,在处理大量用户访问时很有优势,在资源分配、线程排队、异常处理等方面都可以由 web容器保证,而RMI本身不提供多线程的服务器。

 

REST架构也是一种比较简单、高效的Web服务架构,相对于Hessian性能略低,但还在同一个数量级,同时也是基于HTTP协议,目前也有比较多的 成功案例。

 

Burlap在数据量非常小时性能尚可,同时性能随着数据量的增加急剧降低,通常性能耗时是RMI的3倍左右,主要原因是:Hessian采用二进制传输 数据,而Burlap采用XML格式,而XML描述内容太多,同样的结构,其传输量要大很多,同时,XML的解析是比较耗资源的,尤其大数据量情况下更是 如此。

 

EJB基于RMI协议,性能不高,同时只能在Java系统内使用,不能跨语言,目前使用越来越少,目前阿里巴巴内部已经完全放弃EJB。

 

在这些远程调用协议中,Web Service的性能是最低的,一般情况下,Web Service的性能相对于Hessian性能要慢10~20倍左右,同时,对于同样的访问请求,Web Service的传输数据量约为Hessian的6倍左右,对网络带宽消耗非常大,同时XML的解码器普遍性能不高,XML<->Java Bean的编码、解码非常耗费资源,对于并发和负载比较高的网站不是一个好的选择。但web service可以采用集群的方式来水平扩展,提高整体的负载能力。

 

 

总结:Hessian和REST架构个人认为是比较优秀的高性能通信协议,如果对性能要求特别苛刻可以直接采用Socket方式,目前,阿里巴巴内部的远程调用主要采用Hessian和Dubbo(基于Mina框架),经受了苛刻的高并发、高负载考验。

 

主要几种协议远程调用消耗大致时间(小数据量):
Socket/RMI/Hessian: 0.5ms
REST:0.7ms
Web Service(Axis): 约10ms,其中如果采用wsdl2java的方式,效率更低些。

Socket/RMI/Hessian/REST之间选择还需要在传输数据量,性能要求等各方面考量,合适的场景选择合适的协议

 

 

分享到:
评论

相关推荐

    网络层匿名通信协议综述

    介绍了网络层匿名通信协议的分类标准,简述其创新点和具体加密思想,并对它们如何在安全性和性能二者之间的权衡进行分析,也指出了这几种网络匿名通信协议的优势和不足,最后提出在匿名通信系统发展的过程中所面临的...

    nanomsg 0 4 高性能通信库

    nanomsg是一个实现了几种“可扩展协议”的高性能通信库;可扩展协议的任务是定义多个应用系统如何通信,从而组成一个大的分布式系统。当前版本nanomsg支持以下协议: 配对模式:简单的一对一的通信; 总线模式:...

    CAN总线通信控制协议的仿真及性能分析

    由于其通信速率高、工作可靠、调试方便、使用灵活和性价比高等优点,己经在汽车业、航空业、工业控制、安全防护等领域中得到了广泛应用,被公认为几种有前途的总线之一,其协议也发展为重要的国际标准。  随着CAN...

    通信与网络中的CAN总线通信控制协议的仿真及性能分析

    由于其通信速率高、工作可靠、调试方便、使用灵活和性价比高等优点,己经在汽车业、航空业、工业控制、安全防护等领域中得到了广泛应用,被公认为几种最有前途的总线之一,其协议也发展为重要的国际标准。...

    为什么说zigbee是最适合智能家居设备的通信协议

    Zigbee是一种无线通信协议,是基于IEEE820.15.4标准的低功耗局域网协议。是根据国际标准规定的,zigbee技术是一种短距离、低功耗的无线通信技术,该技术支持恒温器到冰箱灯泡等各种智能家居设备。Zigbee是由zigbee...

    ZigBee无线通信技术笔记

    1.3 短距离无线通信协议的比较 5 1.3.1 ZigBee与蓝牙技术的比较 6 1.3.2 ZigBee与UWB技术的比较 7 1.3.3 ZigBee与Wi-Fi技术的比较 8 1.3.4 ZigBee与现有移动网络(GPRS、CDMA)的比较 9 第2章 IEEE 802.15.4标准 10 ...

    数据通信原理与技术

    4.7 几种交换方式的比较………. 本章小结…………………………. 思考与练习………………………. 童数据通信协议………………. 5.1 通信协议及协议分层结构…. 51.1通信协议的一般概念……. 5.1.2通信...

    通信与网络中的无线通信系统的设计方案汇总,包括机器人、医院通信等

     基于FPGA的无线通信安全协议 本文针对使用PIC18系列单片机及CC2420为RF收发器,从ZigBee节点的硬件及ZigBee通信协议和协议栈方面,介绍了ZigBee无线通信网络的组成。 基于MCU和nRF24L01的无线通信系统设计 本文...

    移动通信(第二版)(英文影印版) by Jochen Schiller

    本书是移动通信领域的导论,主要讨论数字数据传输。适用于选修计算机网络或通信课程的电子工程或计算机专业的...将目前熟知的传输控制协议(TCP)应用于有特殊需求的无线领域的几种方法;新的无线应用协议(WAP)标准。

    无线通信系统的设计方案汇总,包括机器人、医院通信等

     基于FPGA的无线通信安全协议 本文针对使用PIC18系列单片机及CC2420为RF收发器,从ZigBee节点的硬件及ZigBee通信协议和协议栈方面,介绍了ZigBee无线通信网络的组成。 基于MCU和nRF24L01的无线通信系统设计 本文...

    CAN总线通信接口及程序设计毕业设计.doc

    报文的格式并不唯一,而是有几种 不同的格式,但是报文的长度却受到电气及内部控制的限制。CAN总线的报文传输也就是 帧的传输,帧是CAN总线传送数据单位。帧也有不同的格式,主要区别在于标识符长度不 同。在CAN2.0A...

    分布式SIP协议栈的研究与实现

    与传统通信协议不同,SIP协议完全采用文本编码,以方便脚本类语言的操作,其应用的前提是智能化的终端、全IP承载。3GPP在R5版本中提出的IP多媒体子系统将SIP作为唯一的会话控制协议,SIP跨越了IMS网络的接入、控制、业务...

    CAN总线和基于CAN总线的高层协议[图]

    文章通过对CAN、DeviceNet、CANopen在五方面的比较,使CAN总线用户更深入的了解这几种总线。这几种协议最明显的不同是信息标识符的使用。DeviceNet基于面向连接的观点,CANopen基于面向信息的观点。DeviceNet、CANopen...

    几种军用车辆数据总线的比较

    介绍了1553B、CAN及MIC总线及特点,并对其在总线体系结构、通信协议、性能、应用前景等方面进行了综合分析与比较。结果表明1553B、CAN、MIC总线均具有可靠性高等特点,但CAN总线比其他两者应用更广泛,是一种有发展...

    数据可视化智能软件主要性能指标.doc

    数据可视化智能软件主要性能指标 1) 分布式实时数据库 A 软件应采用多线程的处理机制,分布式组件的设计支持负载均衡体系。 B 内置动态优化功能,可保证用户在访问一个窗口、鼠标动作等所产生的数据交互的快速 响应...

    多媒体通信技术的应用及发展.doc

    多媒体通信技术 一、什么是多媒体通信 多媒体技术是一种把文字、数字、图形、图像、声音等几种信息的媒体集合在一起,由 计算机实施综合控制的技术。多媒体通信是利用多种媒体—语音、文字、图像、图形和数 据来表示...

    研究论文-基于ZigBee技术的测速方法.pdf

    在分析和对比现有几种测速方法优劣的基础上,以CC2431芯片为核心搭建定位结构,裁剪移植ZigBee 2006协议栈. 阐述了系统各个功能模块的芯片选取、软件设计思路、定位测速原理及方法和误差分析,完成测速系统以及系统...

    电信通信网络安全策略.doc

    在网络应用之后,电信通信网络受到一定的平安威胁,其中互联网操作平台等是有限网 络、通信协议以及路由器的主要结构,电脑黑客或者木马、病毒会利用路由器的代码以 及通信协议之中的缺乏实施网络攻击,电信运营商...

    蓝牙技术研究及其在个人无线通信中的应用

    本论文的课题是蓝牙技术研究...了目前几种短距离无线通信技术,并在性能和应用上做了比较;然后着重对蓝牙 技术进行分析和研究,分析蓝牙协议的技术特点和协议结构等等,并对蓝牙的应 用模式、核心协议栈进行全面的分析

    通信系统综合实验报告实验报告.doc

    本实验要求实验人员利用本软件对通信系统特 别是无线通信系统的基带信号处理方法有较深入的认识和理解,具体有以下几个目的: 1、理解基带传输中的差错控制方法、差错控制编码分类及其纠检错能力;了解差错控制 编码...

Global site tag (gtag.js) - Google Analytics