转:

dubbo 支持的9种协议

 

 

 

文章目录

    一、9种协议
        1、dubbo 协议 (默认)
        2、rmi 协议
        3、hessian 协议
        4、http 协议
        5、webservice 协议
        6、thrift 协议
        7、memcached 协议
        8、redis 协议
        9、rest ( 就是 RestFull)
    二、多协议配置
        不同服务使用不同协议
        同时使用多种协议
    三、面试题:

Dubbo支持dubbo、rmi、hessian、http、webservice、thrift、redis等多种协议,但是Dubbo官网是推荐我们使用Dubbo协议的。

下面我们就针对Dubbo的每种协议详解讲解,以便我们在实际应用中能够正确取舍。
一、9种协议
1、dubbo 协议 (默认)

1、dubbo 缺省协议 采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况
2、不适合传送大数据量的服务,比如传文件,传视频等,除非请求量很低。

缺省协议,使用基于mina1.1.7+hessian3.2.1的tbremoting交互。

特性

    连接个数:单连接
    连接方式:长连接
    传输协议:TCP
    传输方式:NIO异步传输
    序列化:Hessian 二进制序列化
    适用范围:传入传出参数数据包较小(建议小于100K),消费者比提供者个数多,单一消费者无法压满提供者,尽量不要用dubbo协议传输大文件或超大字符串。
    适用场景:常规远程服务方法调用

配置

<!--配置协议: -->
<dubbo:protocol name="dubbo" port="20880" />

<!--设置默认协议: -->
<dubbo:provider protocol="dubbo" />

<!-- 设置服务协议: -->
<dubbo:service protocol="dubbo" />

<!-- 多端口 -->
<dubbo:protocol />
    
</beans>

    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17

三、面试题:

1、dubbo推荐用什么协议?
默认使用 dubbo 协议。

2、dubbo 默认使用什么序列化框架,你知道的还有哪些?
dubbo 有多种协议,不同的协议默认使用不同的序列化框架。比如:

dubbo 协议 默认使用 Hessian2 序列化。(说明:Hessian2 是阿里在 Hessian 基础上进行的二次开发,起名为Hessian2 )
rmi协议 默认为 java 原生序列化,
http 协议 默认为 为 json 。

此外补充,
hessian 协议,默认是 hessian 序列化;
webservice 协议,默认是 soap 文本序列化 。

上面说的是默认使用序列化。也可以使用第三方的序列化框架,如 Kryo 、 FST等序列化框架,详情参考:
https://blog.csdn.net/xiaojin21cen/article/details/90269659
https://blog.csdn.net/xiaojin21cen/article/details/90269952

知识来源:

上面的回答在dubbo 官方文档中有说明 。 http://dubbo.apache.org/zh-cn/docs/user/references/xml/dubbo-protocol.html
在这里插入图片描述

在这里插入图片描述

如上图所示,在 serialization 这一行中,如果使用的是dubbo协议,则默认 序列化 框架是 hessian2,
rmi协议,则默认为 java ;http 协议,则默认为 为json 。
---------------------
版权声明:本文为CSDN博主「xiaojin21cen」的原创文章,遵循CC 4.0 by-sa版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/xiaojin21cen/article/details/79834222

相关文章:

  • 2021-12-10
  • 2021-11-12
  • 2021-11-10
  • 2021-08-25
  • 2021-04-17
  • 2022-12-23
  • 2021-06-23
猜你喜欢
  • 2022-12-23
  • 2021-06-20
  • 2021-07-29
  • 2021-12-16
  • 2021-07-30
  • 2022-02-21
相关资源
相似解决方案