Dubbo框架支持多少种协议?各有什么特点?文中一一为你揭晓

Dubbo框架支持多少种协议?各有什么特点?文中一一为你揭晓

精选文章moguli202025-01-24 9:29:0322A+A-

概述

Dubbo 允许配置多协议,在不同服务上支持不同协议或者同一服务上同时支持多种协议。

除了dubbo协议外, Dubbo框架还支持另外8种服务暴露协议,如rmi协议、 hessian协议、 http协议、等。不同的协议,有不同的特点,适用不同的场景。一般在实际应用中,默认也是使用最多的是dubbo协议。

各协议的特点

  • dubbo协议
  1. 连接数:单连接
  2. 连接类型:长连接
  3. 传输协议: TCP
  4. 传输方式: NIO异步传输
  5. 适用范围:传入传出参数数据包较小(建议小于100K),消费者比提供者个数多,单一消费者无法压满提供者,尽量不要用dubbo协议传输大文件或超大字符串。
  • rmi协议
  1. 连接数:多连接
  2. 连接类型:短连接
  3. 传输协议: TCP
  4. 传输方式: BIO同步传输
  5. 适用范围:传入传出参数数据包大小混合,消费者与提供者个数差不多,可传文件。
  • hessian协议
  1. 连接数:多连接
  2. 连接类型:短连接
  3. 传输协议: HTTP
  4. 传输方式: BIO同步传输
  5. 适用范围:传入传出参数数据包较大,提供者比消费者个数多,提供者抗压能力较大,可传文件。
  • http协议
  1. 连接数:多连接
  2. 连接类型:短连接
  3. 传输协议: HTTP
  4. 传输方式: BIO同步传输
  5. 适用范围:传入传出参数数据包大小混合,提供者比消费者个数多,可用浏览器查看,可用表单或 URL传入参数,暂不支持传文件。
  • webservice协议
  1. 连接数:多连接
  2. 连接类型:短连接
  3. 传输协议: HTTP
  4. 传输方式: BIO同步传输
  5. 适用范围:系统集成,跨语言调用
  • thrift协议

Thrift是Facebook捐给 Apache的一个RPC框架,其消息传递采用的协议即为thrift协议。 当前dubbo支持的thrift协议是对thrift原生协议的扩展。 Thrift协议不支持null值的传递。

  • memcached协议

高效的KV缓存服务器。可以对传输的数据使用相应的技术进行缓存。

  • redis协议

同memcached协议类似。

  • rest协议

一般开发具有RESTful风格的服务会使用该协议。

不同服务不同协议

不同服务在性能上适用不同协议进行传输,比如大数据用短连接协议,小数据大并发用长连接协议。此时可以根据需要,将不同的服务通过不同的服务进行曝露。


 
    
    
    
    
    
    
    
    
     

多协议暴露服务

即一个服务支持多种协议,比如可以使用dubbo和rmi协议曝露同一个服务



    
    
    
    
    
    
    

总结

在Dubbo中,一个服务可以支持多种协议,不同的服务可以使用不同的协议。不同的协议,有不同的特点,适用不同的场景,默认情况下dubbo协议使用的比较多,但应根据项目需求,进行灵活配置。


点击这里复制本文地址 以上内容由莫古技术网整理呈现,请务必在转载分享时注明本文地址!如对内容有疑问,请联系我们,谢谢!
qrcode

莫古技术网 © All Rights Reserved.  滇ICP备2024046894号-2