2026/9/2大约 9 分钟
分布式系统面试很少让你单独背一个 CAP 定义。面试官通常会从某个业务问题开始追问:服务为什么要拆到多个节点?网络超时后能不能重试?锁提前过期怎么办?跨服务的数据如何保持一致?
这篇文章是 JavaGuide 分布式系统专题的复习入口,按分布式理论、RPC 与网关、分布式 ID/锁/事务、配置中心与 ZooKeeper 四部分整理。每部分只列复习时需要抓住的问题,答案和实现细节放在对应专题文章中。
时间比较紧的话,可以先看 分布式系统常见面试题总结,把不会的问题标出来,再回到本文补原理和工程细节。
2026/9/2大约 8 分钟
刚接触分布式系统时,很多人会先被一串名词砸中:CAP、BASE、Paxos、Raft、分布式锁、分布式事务。
这些概念都绕不开,但入门时直接钻进去,容易把分布式系统学成一堆互不相干的术语。更好的切入口是一个更土但更实用的问题:原来一台机器、一个进程、一个数据库就能完成的事情,为什么后来要拆到多台机器上?拆完以后,为什么一个超时、一次重试、一条消息重复投递,都会牵出这么多设计问题?
这篇文章先把“分布式系统是什么”讲清楚。Paxos、Raft、分布式事务不会展开推导,只把它们放回主线里,知道它们大概在解决哪类麻烦。
什么是分布式系统?
2026/9/2大约 21 分钟
RPC(Remote Procedure Call,远程过程调用)是分布式系统里最常见的服务调用方式之一。它希望让调用远程服务像调用本地方法一样自然,同时封装网络通信、序列化、服务发现、负载均衡、超时重试和容错治理等复杂细节。
适合谁看
- 想理解 RPC 框架工作原理的后端开发者。
- 正在准备 RPC、Dubbo、微服务调用相关面试题的同学。
- 已经用过 Feign、Dubbo、gRPC,但对底层调用流程和服务治理不够熟的读者。
- 需要判断内部服务调用到底该用 HTTP 还是 RPC 的工程师。
2026/9/2大约 3 分钟
