Skip to content

RPC 与 Dubbo 知识体系总览


第1阶段 RPC原理 → 通信、序列化
第2阶段 Dubbo架构 → SPI、服务治理
第3阶段 序列化 → Hessian、Protobuf
第4阶段 负载均衡 → 一致性Hash
RPC
┌───────────┬─────────────┴─────────────┐
▼ ▼ ▼ ▼
RPC原理 Dubbo 序列化 负载均衡
│ │ │ │
• TCP/UDP • SPI • Hessian • 随机
• Socket • 注册发现 • Protobuf • 轮询
• Stub • 服务治理 • Kryo • 一致性Hash
• 序列化 • 集群容错 • Java序列化 • 最少活跃
专题考察频率难度核心能力
RPC原理★★★★☆通信机制
Dubbo★★★★★SPI机制
序列化★★★★☆性能选型
负载均衡★★★★☆算法

🛰️ RPC 原理

RPC 定义与原理;TCP/UDP 通信;Socket 编程;Stub 代理;序列化与反序列化。

🚀 Dubbo 架构

整体架构与核心组件;服务注册与发现;SPI 机制;服务治理;与 Spring Cloud 对比。

📦 序列化协议

Java 序列化;Hessian;Protobuf;Kryo;序列化选型与性能对比。

⚖️ 负载均衡

随机/轮询/加权;一致性 Hash;最少活跃调用;负载均衡算法对比与实践。

🔧 服务治理

集群容错;超时重试;限流降级;服务路由;配置管理。


三、为什么面试必考 RPC / Dubbo?

Section titled “三、为什么面试必考 RPC / Dubbo?”
单体架构 微服务架构
──────── ────────────
方法调用 = 直接调用 方法调用 = 网络请求
无网络延迟 网络延迟 1~10ms
无序列化开销 序列化/反序列化
无超时/重试 需要容错机制
  • RPC 是分布式系统的基础:所有微服务间的调用都依赖 RPC
  • Dubbo 是国内主流框架:阿里开源,国内公司广泛使用
  • 考察综合能力:不仅会调用,还要理解原理和调优

Client Server
│ │
│ 1. 序列化请求参数 │
│───────────────────────────>│
│ │ 2. 反序列化,定位服务
│ │ 3. 执行本地方法
│ │ 4. 序列化返回值
│<───────────────────────────│
│ 5. 反序列化,返回结果 │
核心组件:
┌──────────────────────────────────────┐
│ Stub(存根):代理对象,封装调用细节 │
│ Serialization(序列化):对象→字节 │
│ Transport(传输):TCP/HTTP 网络 │
│ Registry(注册中心):服务发现 │
└──────────────────────────────────────┘

第1天 RPC 原理 → 理解调用流程,动手写简单 RPC
第2天 Dubbo 架构 → 掌握核心组件,理解 SPI 机制
第3天 序列化协议 → 对比各协议优缺点,理解选型
第4天 负载均衡与集群容错 → 理解各算法原理和适用场景
第5天 服务治理 → 限流/降级/路由实战