dubbo传输协议

一、dubbo 的通讯协议
1 dubbo 协议,是默认的基于TCP 传输协议的长连接,NIO 异步通信,适合于小数据量高并发的场景以及服务消费者机器数远大于服务提供者机器数的情况。
,不适合大文件,视频的传输
连接个数:单连接
连接方式:长连接
传输协议:TCP
传输方式:NIO 异步传输
序列化:Hessian 二进制序列化
适用范围:传入传出参数数据包较小(建议小于100K ),消费者比提供者个数多,单一消费者无法压满提供者,尽量不要用dubbo 协议传输大文件或超大字符串。
适用场景:常规远程服务方法调用
 
2 RMI 协议
RMI 协议采用JDK 标准的java.rmi.* 实现,采用阻塞式短连接和JDK 标准序列化方式
Java 标准的远程调用协议。
 
连接个数:多连接
连接方式:短连接
传输协议:TCP
传输方式:同步传输
序列化:Java 标准二进制序列化
适用范围:传入传出参数数据包大小混合,消费者与提供者个数差不多,可传文件。
适用场景:常规远程服务方法调用,与原生RMI 服务互操作
 
3 hession 协议
Hessian 协议用于集成Hessian 的服务,Hessian 底层采用Http 通讯,采用Servlet 暴露服务,Dubbo 缺省内嵌Jetty 作为服务器实现
 
基于Hessian 的远程调用协议。
 
连接个数:多连接
连接方式:短连接
传输协议:HTTP
传输方式:同步传输
序列化:Hessian 二进制序列化
适用范围:传入传出参数数据包较大,提供者比消费者个数多,提供者压力较大,可传文件。
适用场景:页面传输,文件传输,或与原生hessian 服务互操作
 
4 Http 协议
采用Spring HttpInvoker 实现
基于http 表单的远程调用协议。
 
连接个数:多连接
连接方式:短连接
传输协议:HTTP
传输方式:同步传输
序列化:表单序列化(JSON
适用范围:传入传出参数数据包大小混合,提供者比消费者个数多,可用浏览器查看,可用表单或URL 传入参数,暂不支持传文件。
适用场景:需同时给应用程序和浏览器JS 使用的服务。
 
5 webservice
基于CXF frontend-simple transports-http 实现
基于WebService 的远程调用协议。
 
连接个数:多连接
连接方式:短连接
传输协议:HTTP
传输方式:同步传输
序列化:SOAP 文本序列化
适用场景:系统集成,跨语言调用。
 
 
6 thrif
Thrift Facebook 捐给Apache 的一个RPC 框架,当前 dubbo 支持的 thrift 协议是对 thrift 原生协议的扩展,在原生协议的基础上添加了一些额外的头信息,比如service name magic number 等。Thrift 不支持null 值,不能在协议中传null
 
7 redis 协议
 
8 memcached 协议
  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值