1. dubbo 通信协议 dubbo 协议适用范围和适用场景
      适用范围:传入传出参数数据包较小(建议小于 100K),消费者比提供者个数
      多,单一消费者无法压满提供者,尽量不要用 dubbo 协议传输大文件或超大字符
      串。适用场景:常规远程服务方法调用
      dubbo 协议补充:
      连接个数:单连接
      连接方式:长连接
      传输协议:TCP
      传输方式:NIO 异步传输
      序列化:Hessian 二进制序列化
      5. RMI 协议
      RMI 协议采用 JDK 标准的 java.rmi.实现,采用阻塞式短连接和 JDK 标准序列化
      方式,Java 标准的远程调用协议。
      连接个数:多连接
      连接方式:短连接
      传输协议:TCP
      传输方式:同步传输
      序列化:Java 标准二进制序列化
      适用范围:传入传出参数数据包大小混合,消费者与提供者个数差不多,可传文
      件。
      适用场景:常规远程服务方法调用,与原生 RMI 服务互操作
      6. Hessian 协议
      Hessian 协议用于集成 Hessian 的服务,Hessian 底层采用 Http 通讯,采用
      Servlet 暴露服务,Dubbo 缺省内嵌 Jetty 作为服务器实现
      基于 Hessian 的远程调用协议。
      连接个数:多连接
      连接方式:短连接
      传输协议:HTTP
      传输方式:同步传输
      序列化:Hessian 二进制序列化
      适用范围:传入传出参数数据包较大,提供者比消费者个数多,提供者压力较大,
      可传文件。
      适用场景:页面传输,文件传输,或与原生 hessian 服务互操作
      7. http
      采用 Spring 的 HttpInvoker 实现
      基于 http 表单的远程调用协议。
      连接个数:多连接
      连接方式:短连接
      更多关注 Java 大后端公众号传输协议:HTTP
      传输方式:同步传输
      序列化:表单序列化(JSON)
      适用范围:传入传出参数数据包大小混合,提供者比消费者个数多,可用浏览器
      查看,可用表单或 URL 传入参数,暂不支持传文件。
      适用场景:需同时给应用程序和浏览器 JS 使用的服务。
      8. Webservice
      基于 CXF 的 frontend-simple 和 transports-http 实现
      基于 WebService 的远程调用协议。
      连接个数:多连接
      连接方式:短连接
      传输协议:HTTP
      传输方式:同步传输
      序列化:SOAP 文本序列化
      适用场景:系统集成,跨语言调用。
      9. *Thrif

      Thrift是Facebook捐给Apache的一个RPC框架,当前 dubbo 支持的 thrift 协
      议是对 thrift 原生协议的扩展,在原生协议的基础上添加了一些额外的头信
      息,比如 service name,magic number 等