Dubbo常用协议之Dubbo协议与Hessian协议解析

      最后更新:2022-03-25 15:30:01 手机定位技术交流文章

      前言

      Dubbo 支持多个协议, 多个协议可以配置支持不同服务协议或同一服务协议。 不同的服务会使用不同的性能协议发送, 比如巨型数据的短链协议和微小数据的长链协议。

      Dubbo协议

      Dubbo违约协议使用单一长的连接和NIO无同步通信,适用于涉及大量微小数据的服务电话,以及服务性消费计算机数量大大超过服务提供机数量的情况。

      相反,除非请求非常低,否则Dubbo默认协议不适用于文件传输、视频传输等巨大的数据量应用程序。

      米娜、内蒂和格里兹是Dubbo协议可转让的

      Dubbo 协议序列化: dubbo, hesian2, java, json

      Dubbo协议支持以下线条分布:所有、直接、信息、解释和条件。

      Dubbo协议可使用两种类型的线索集合:装配和缓存。

      特性:
      • 连接个数:单连接
      • 20880是默认端口。
      • 连接方式:长连接
      • 传输协议:TCP
      • 明确建议使用基于净额违约并有未完成性能的Dubbo协议。
      • 默认情况下,使用顺序顺序:Hassian2。
      • 应用范围:输入到输出参数数据包较小(建议小于100K),消费者多于提供者,单一消费者无法填充提供者,不尽量不使用杜博协议发送大文件或超绳。
      • 适用情景:传统远程服务机制的呼叫。
      约束:
      • 连串式接口需要使用参数和返回。
      • 由于Hassian将在自定义的变换类别中进行特殊处理和属性数据将丢失, 参数和返回值无法定制以生成像 List、 地图、 数字、 日期、 日历这样的界面, 并且只能使用 JDK 自己的带子才能实现 。
      • Hessian 将成员属性的值和价值类型,而不是方法或静态变量,按顺序排列。

      兼容情况:
      以方法参数为例
      呼叫者发送A类参数,而供应商则接收B类参数。
      假设情景一:具有许多属性的A类(或不少于一个属性的B组)
      因此, " A加 " 特性的价值为零、 " B " 、 " 没有 " 使用 " 、 " 没有 " 使用 " 、 " 一切正常 " 。

      在第二种情况中:A类以上(或B类以下)的列表,A类使用不止一种类型的列表传输数据。
      投投是因为 A 使用了不止一个数来传输, B 没有 。

      案例三:清单中包含A项(或B项减去B项)的另一个项目,A不转交该增列项目。
      因此,没有反常现象,因为A转交的清单B在通常情况下是可以使用的。

      案例四:财产A和B名称相同,但种类不同。
      结果,由于同一名称的属性属性值被抛出异常点,但由于类型不同,导致该类型的异常点。

      情况是五:独特。
      结果:正常传输。

      接口添加方法对客户没有任何影响,如果客户不需要新的属性,则不需要重新调配。输入参数和结果集中增加了对客户没有影响,如果客户不需要新的属性,则不会重新调配的属性。

      输入参数和结果设定属性变化,不会影响客户的序列化,但如果客户不重新部署输入或输出,则无法提供属性名称变化的属性值。

      摘要:服务器和客户不需要与字段对象完全一致, 而是受最大匹配概念的制约。 是你改变了, 但如果我不需要, 我就不会不正确 。

      配置方式:
      配置协议:

      设置服务默认协议:

      设置服务协议:

      多端口:

      正式文件议定书配置手册载有以下议定书配置项目:
      http://dubbo.apache.org/zh-cn/docs/user/references/xml/dubbo-protocol.html

      Hessian协议

      为了整合赫西安服务,使用了赫西安协议。 在最底层,赫西安使用HTTP通信、Serverlet曝光服务以及Dubbo默认的Jetty嵌入服务器。

      特性
      • 连接个数:多连接
      • 连接方式:短连接
      • 传输协议:HTTP
      • 传输方式:同步传输
      • 代号: 黑森二进制序列化
      • 应用范围:投入到输出参数数据包更大,供应商多于消费者,对提供者提交文件的需求增加。
      • 页面传输、文件传输或与Hessian本地服务的兼容性是申请的例子。
      约束

      dubbo协议是相似的。

      配置:
      <dubbo:protocol name=“hessian” port=“8080” server=“jetty” />

      所需依赖:

      释放服务使用赫西安协议:
      <dubbo:service protocol=“hessian”/>

      引用服务
      <dubbo:reference protocol=“hessian”/>

      多协议配置

      在这里插入图片描述
      在这里插入图片描述
      消费端引用:
      在这里插入图片描述

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/20846.html

          热门文章

          文章分类