Dubbo支持的通信协议和序列化协议

Dubbo支持的通信协议和序列化协议

通讯协议(10种)

  1. Dubbo 默认协议:议采用单一长连接和 NIO
    异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。
  2. REST 协议: 基于标准的Java REST API实现的REST调用支持
  3. Hessian 协议:Hessian 协议用于集成 Hessian 的服务,Hessian 底层采用 Http 通讯,采用
    Servlet 暴露服务,Dubbo 缺省内嵌 Jetty 作为服务器实现
  4. HTTP 协议:需同时给应用程序和浏览器 JS 使用的服务。
  5. dubbo rpc jsonrpc
  6. WebService 协议:系统集成,跨语言调用
  7. RMI 协议:RMI 协议采用 JDK 标准的 java.rmi.* 实现,采用阻塞式短连接和 JDK 标准序列化方式。
  8. Thrift 协议:使用Thrift实现PRC协议
  9. Redis 协议:基于redis实现RPC协议
  10. Memcached 协议:基于Memcached实现RPC协议
    Dubbo支持的通信协议和序列化协议_第1张图片

序列化协议(6种)

  1. dubbo-hessian-lite 是官方 hessian 的一个 Apache Dubbo 私有版本
  2. Apache Avro™ 是一个数据序列化系统。
  3. Jdk 序列化
  4. JSON - fastjson:一个Java版本内的 JSON 解析器/生成器
  5. FST: 一个快速的Java序列化工具
  6. Kryo是一个Java版本的快速有效的二进制对象序列化框架
    Dubbo支持的通信协议和序列化协议_第2张图片

远程调用的方式(4种)

1.RPC:采用C/S方式,跨语言跨平台,Apache Thrift是RPC的经典框架
2.webservice:请求应答机制,跨系统跨平台
3.RMI: 降低客户端与服务器的耦合性,java远程接口调用;跨虚拟机
4.JMS:JAVA消息服务,点对点和发布订阅模型 如ActiveMQ

你可能感兴趣的:(java,rpc)