Java面试题更新 2026-08-03

请解释什么是 RPC,并说明为什么在项目中要使用 Dubbo 这一 RPC 框架,它相比其他方案有哪些优势?

考察说明

考查对 RPC 基本概念和 Dubbo 框架核心优势的理解。

回答思路

  1. 【回答框架 1】RPC 即远程过程调用,允许程序调用远程服务如同调用本地方法,屏蔽网络通信、序列化等细节,实现分布式系统间的高效协作。
  2. 【回答框架 2】Dubbo 是阿里巴巴开源的高性能 Java RPC 框架,提供服务注册与发现、负载均衡、容错、流量治理等能力,简化分布式服务治理。
  3. 【回答框架 3】Dubbo 优势:支持多种协议(如 Dubbo、HTTP)和序列化(如 Hessian),内置负载均衡策略和集群容错,与注册中心(如 ZooKeeper)集成,支持服务降级、限流等治理功能,同时具备良好的扩展性和运维监控支持。
  4. 【回答框架 4】相比直接使用 HTTP 或自研 RPC,Dubbo 提供完整的服务治理方案,降低分布式开发复杂度,但需注意其引入的服务发现依赖和配置成本。
  5. 【关键点 1】RPC 核心目标是让远程调用像本地调用一样透明,封装通信细节。
  6. 【关键点 2】Dubbo 核心能力包括服务注册发现、负载均衡和容错机制。
  7. 【关键点 3】Dubbo 支持多种协议和序列化,代码侵入低。
  8. 【关键点 4】对比而言,Dubbo 更适合复杂服务治理,而简单场景可能 HTTP 更轻量。
  9. 【易错点 1】易将 RPC 与 HTTP 混淆,认为 HTTP 就是 RPC,实为通信协议与调用方式的区别。
  10. 【易错点 2】忽略 Dubbo 依赖注册中心,未考虑其服务注册的可用性。
  11. 【易错点 3】误认为 Dubbo 适合所有场景,在简单项目中反而增加运维成本。