首页 面试专题 dubbo支持哪些通信协议?支持哪些序列化协议?

dubbo支持哪些通信协议?支持哪些序列化协议?

1、面试题   dubbo支持哪些通信协议?支持哪些序列化协议?   2、面试官心里分析 &nbsp…

34-01_dubbo的网络通信协议

1、面试题

 

dubbo支持哪些通信协议?支持哪些序列化协议?

 

2、面试官心里分析

 

上一个问题,说说dubbo的基本工作原理,那是你必须知道的,至少知道dubbo分成哪些层,然后平时怎么发起rpc请求的,注册、发现、调用,这些是基本的。

 

接着就可以针对底层进行深入的问问了,比如第一步就可以先问问序列化协议这块,就是平时rpc的时候怎么走的?

 

3、面试题剖析

 

(1)dubbo支持不同的通信协议

 

1)dubbo协议

 

dubbo://192.168.0.1:20188

 

默认就是走dubbo协议的,单一长连接,NIO异步通信,基于hessian作为序列化协议

 

适用的场景就是:传输数据量很小(每次请求在100kb以内),但是并发量很高

 

为了要支持高并发场景,一般是服务提供者就几台机器,但是服务消费者有上百台,可能每天调用量达到上亿次!此时用长连接是最合适的,就是跟每个服务消费者维持一个长连接就可以,可能总共就100个连接。然后后面直接基于长连接NIO异步通信,可以支撑高并发请求。

 

否则如果上亿次请求每次都是短连接的话,服务提供者会扛不住。

 

而且因为走的是单一长连接,所以传输数据量太大的话,会导致并发能力降低。所以一般建议是传输数据量很小,支撑高并发访问。

 

2)rmi协议

 

走java二进制序列化,多个短连接,适合消费者和提供者数量差不多,适用于文件的传输,一般较少用

 

3)hessian协议

 

走hessian序列化协议,多个短连接,适用于提供者数量比消费者数量还多,适用于文件的传输,一般较少用

 

4)http协议

 

走json序列化

 

5)webservice

 

走SOAP文本序列化

 

(2)dubbo支持的序列化协议

 

所以dubbo实际基于不同的通信协议,支持hessian、java二进制序列化、json、SOAP文本序列化多种序列化协议。但是hessian是其默认的序列化协议。

 

 

 

免责声明:文章内容不代表本站立场,本站不对其内容的真实性、完整性、准确性给予任何担保、暗示和承诺,仅供读者参考,文章版权归原作者所有。如本文内容影响到您的合法权益(内容、图片等),请及时联系本站,我们会及时删除处理。

为您推荐

分布式服务接口请求的顺序性如何保证?

分布式服务接口请求的顺序性如何保证?

  1、面试题   分布式服务接口请求的顺序性如何保证?   2、面试官心里分析 &nbs...
如何自己设计一个类似dubbo的rpc框架?

如何自己设计一个类似dubbo的rpc框架?

  1、面试题   如何自己设计一个类似dubbo的rpc框架?   2、面试官心里分析 ...
分布式服务接口的幂等性如何设计(比如不能重复扣款)

分布式服务接口的幂等性如何设计(比如不能重复扣款)

  1、面试题   分布式服务接口的幂等性如何设计(比如不能重复扣款)? 2、面试官心里分析 &nb...
说说zookeeper一般都有哪些使用场景

说说zookeeper一般都有哪些使用场景

  1、面试题   zk都有哪些使用场景?   2、面试官心里分析   zk,z...
分布式锁是啥?对比下redis和zk两种分布式锁的优劣

分布式锁是啥?对比下redis和zk两种分布式锁的优劣

  1、面试题   一般实现分布式锁都有哪些方式?使用redis如何设计分布式锁?使用zk来设计分布...
返回顶部