dubbo多协议支持,及协议特点

 Dubbo服务除了本身自己的Dubbo协议外,Dubbo框架还支持另外8中服务暴露协议:

  RMI协议、Hessian协议、HTTP协议、WebService协议、Thrift协议、Memcached协议、Redis协议、

       Rest协议。但在实际生产中,使用最多的就是Dubbo服务暴露协议。

各个协议的特点

建议:小数据大并发使用dubbo ,大数据小并发使用其他。【根据实际情况而定】

1、dubbo协议

  • dubbo默认传输协议
  • 连接方式:单连接
  • 传输协议:长连接
  • 传输方式:NIO异步传输
  • 适用范围:传入传出参数数据包较小(建议小于100K),消费者比提供者个数多,单一消费者
  •                   无法压满提供者,尽量不要用dubbo协议传输大文件或超大字符串

2、rmi协议

  • 采用JDK标准的java.rmi.*实现
  • 连接个数:多连接
  • 连接方式:短连接
  • 传输协议:TCP
  • 传输方式:BIO同步传输
  • 适用范围:传入传出参数数据包大小混合,消费者与提供者个数差不多,可传文件

3、hession协议

  • 连接个数:多连接
  • 连接方式:短连接
  • 传输协议:HTTP
  • 传输方式:BIO同步传输
  • 适用范围:传入传出参数数据包较大,提供者比消费者个数多,提供者抗压能力较大,可传文件

4、http协议

  • 连接个数:多连接
  • 连接方式:短连接
  • 传输协议:HTTP
  • 传输方式:BIO同步传输
  • 适用范围:传输传出参数数据包大小混合,提供者比消费者个数多,可用浏览器查看,可用表单
  •                   或URL参数参数,暂不支持传文件

5、webService协议

  • 连接个数:多连接
  • 连接方式:短连接
  • 传输协议:HTTP
  • 传输方式:BIO同步传输
  • 适用范围:系统集成,跨语言调用

6、thrift协议

  Thrift是Facebook捐给Apache的一个RPC框架,其消息传递采用的协议即为thrift协议。

      当前dubbo支持的thrift协议是对thrift原生协议的扩展。Thrift协议不支持null值的传递。

7、memcached协议与redis协议

  它们都是高效的KV缓存服务器。它们会对传输的数据使用相应的技术进行缓存。

8、rest协议

  若需要开发具有RESTful风格的服务,则需要使用该协议

 

 

 

原文地址:https://www.cnblogs.com/codelives/p/13639894.html