dubbo协议对比分析
1、dubbo
适用场景:
dubbo缺省协议采用单一长连接和NIO异步通讯,适用于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。
反之,dubbo协议不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低。
2、rmi
适用范围:传入传出参数数据包大小混合,消费者与提供者个数差不多,可传文件。
使用场景:常规远程服务方法调用,与原生RMI服务互操作
3、hessian
适用范围:传入传出参数数据包较大,提供者比消费者个数多,提供者压力较大,可传文件。
适用场景:页面传输、文件传输,或与原生hessian服务互操作。
4、http:
适用范围:传入传出数据包大小混合,提供者比消费者个数多,可用浏览器查看,可用表单或URL传入参数,暂不支持传文件。
适用场景:需同时给应用程序和浏览器JS适用的服务。
5、webservice
适用场景:系统集成,跨语言调用。
长连接:指在一个TCP连接上,可以连续发送多个数据包,在TCP连接保持期间,如果没有数据包发送,需要双发发监测包以维持此连接,一般需要自己做在线维持。
短连接:是指通讯双发有数据交互时,建立一个TCP连接,数据发送完成后,则断开此TCP连接。(一般银行都是用短连接)
比如Http的,只是连接、请求、关闭,过程时间较短,服务器若一段时间内没有收到请求,即可关闭连接。
长连接是相对于短连接而说的,也就是长时间保持客户端与服务端的连接状态。
同步传输:是一种以数据块为传输单位的数据传输方式,该方式下数据块与数据块之间的时间间隔是固定的。每个数据块的头部和尾部都要附加一个特殊的字符或比特序列。标记一个数据块的开始和结束,一般还要附加一个校验序列,以便对数据块进行差错控制。
特点:比特分组大,不是独立地发送 每个字符,每个字符都有自己的开始位和停止位,而是把它们组合起来一起发送。这些组合就是所谓的数据帧。或简称为帧。
异步传输:
异步通信在发送字符时,所发送的字符之间的时间间隔可以是任意的。发送端可以在任意时刻开发发送字符,因此必须在每一个字符的开始和结束的地方加上标准,即加上开始位和停止位,以便使接收端能够正确地将每一个字符接受下来。
网友评论