架构师面试题系列之Dubbo面试专题及答案(29题)

1. Dubbo ⽀持哪些协议,每种协议的应⽤场景,优缺点?

• dubbo: 单⼀⻓连接和 NIO 异步通讯,适合⼤并发⼩数据量的服务调
⽤,以及消费者远⼤于提供者。传输协议 TCP,异步, Hessian 序列
化;
• rmi: 采⽤ JDK 标准的 rmi 协议实现,传输参数和返回参数对象需要
实现 Serializable 接⼝,使⽤ java 标准序列化机制,使⽤阻塞式短连
接,传输数据包⼤⼩混合,消费者和提供者个数差不多,可传⽂件,传
输协议 TCP。多个短连接, TCP 协议传输,同步传输,适⽤常规的远程
服务调⽤和 rmi 互操作。在依赖低版本的 Common-Collections 包,
java 序列化存在安全漏洞;
• http: 基于 Http 表单提交的远程调⽤协议,使⽤ Spring 的
HttpInvoke 实现。多个短连接,传输协议 HTTP,传⼊参数⼤⼩混合,
提供者个数多于消费者,需要给应⽤程序和浏览器 JS 调⽤;
• webservice: 基于 WebService 的远程调⽤协议,集成 CXF 实现,提供
和原⽣ WebService 的互操作。多个短连接,基于 HTTP 传输,同步传
输,适⽤系统集成和跨语⾔调⽤;
• ** hessian**: 集成 Hessian 服务,基于 HTTP 通讯,采⽤ Servlet 暴
露服务,Dubbo 内嵌 Jetty 作为服务器时默认实现,提供与 Hession 服
务互操作。多个短连接,同步 HTTP 传输, Hessian 序列化,传⼊参数
较⼤,提供者⼤于消费者,提供者压⼒较⼤,可传⽂件;
• Redis: 基于 Redis 实现的 RPC 协议

2. Dubbo 超时时间怎样设置?

Dubbo 超时时间设置有两种⽅式:
• 服务提供者端设置超时时间,在 Dubbo 的⽤户⽂档中,推荐如果能服务
端多配置就尽量多配置,因为服务提供者⽐消费者更清楚⾃⼰提供的服
务特性。
• 服务消费者端设置超时时间,如果在消费者端设置了超时时间,以消费
者端为主,即优先级更⾼。因为服务调⽤⽅设置超时时间控制性更灵活。
如果消费⽅超时,服务端线程不会定制,会产⽣警 R 告。

3. Dubbo 有些哪些注册中⼼?

• Multicast 注册中⼼: Multicast 注册中⼼不需要任何中⼼节点,只要⼴
播地址,就能进⾏服务注册和发现。基于⽹络中组播传输实现;
• Zookeeper 注册中⼼: 基于分布式协调系统 Zookeeper 实现,采⽤
Zookeeper 的 watch 机制实现数据变更;
• redis 注册中⼼: 基于 redis 实现,采⽤ key/Map 存储,住 key 存储
服务名和类型, Map 中 key 存储服务 URL, value 服务过期时间。基
于 redis 的发布/订阅模式通知数据变更;
• Simple 注册中⼼

4. Dubbo 集群的负载均衡有哪些策略?

Dubbo 提供了常⻅的集群策略实现,并预扩展点予以⾃⾏实现。
• Random LoadBalance: 随机选取提供者策略,有利于动态调整提供者权
重。截⾯碰撞率⾼,调⽤次数越多,分布越均匀;
• RoundRobin LoadBalance: 轮循选取提供者策略,平均分布,但是存在请
求累积的问题;
• LeastActive LoadBalance: 最少活跃调⽤策略,解决慢提供者接收更少的
请求;
• ConstantHash LoadBalance: ⼀致性 Hash 策略,使相同参数请求总是发
到同⼀提供者,⼀台机器宕机,可以基于虚拟节点,分摊⾄其他提供
者,避免引起提供者的剧烈变动;

5. Dubbo 是什么?

Dubbo 是⼀个分布式、⾼性能、透明化的 RPC 服务框架,提供服务⾃动注册、
⾃动发现等⾼效服务治理⽅案, 可以和 Spring 框架⽆缝集成

  • 8
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cesske

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值