Dubbo支持的通信协议和序列化协议
Dubbo支持的通信协议和序列化协议
通讯协议(10种)
- Dubbo 默认协议:议采用单一长连接和 NIO
异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。 - REST 协议: 基于标准的Java REST API实现的REST调用支持
- Hessian 协议:Hessian 协议用于集成 Hessian 的服务,Hessian 底层采用 Http 通讯,采用
Servlet 暴露服务,Dubbo 缺省内嵌 Jetty 作为服务器实现 - HTTP 协议:需同时给应用程序和浏览器 JS 使用的服务。
- dubbo rpc jsonrpc
- WebService 协议:系统集成,跨语言调用
- RMI 协议:RMI 协议采用 JDK 标准的 java.rmi.* 实现,采用阻塞式短连接和 JDK 标准序列化方式。
- Thrift 协议:使用Thrift实现PRC协议
- Redis 协议:基于redis实现RPC协议
- Memcached 协议:基于Memcached实现RPC协议
序列化协议(6种)
- dubbo-hessian-lite 是官方 hessian 的一个 Apache Dubbo 私有版本
- Apache Avro™ 是一个数据序列化系统。
- Jdk 序列化
- JSON - fastjson:一个Java版本内的 JSON 解析器/生成器
- FST: 一个快速的Java序列化工具
- Kryo是一个Java版本的快速有效的二进制对象序列化框架
远程调用的方式(4种)
1.RPC:采用C/S方式,跨语言跨平台,Apache Thrift是RPC的经典框架
2.webservice:请求应答机制,跨系统跨平台
3.RMI: 降低客户端与服务器的耦合性,java远程接口调用;跨虚拟机
4.JMS:JAVA消息服务,点对点和发布订阅模型 如ActiveMQ
还没有评论,来说两句吧...