Java 面试题:分布式与微服务(CAP/锁/幂等/限流)

一、CAP 与 BASE

分布式下 P(分区容错)必选,只能在 C(一致)与 A(可用)间权衡:CP(如 ZooKeeper 强一致)、AP(如 Cassandra 高可用)。BASE:基本可用、软状态、最终一致,是 AP 的落地哲学。

二、分布式锁

方案 原理 注意
Redis SET key val NX EX 用 Redlock/看门狗防误删、锁续期
ZooKeeper 临时有序节点 会话断开自动释放,较可靠
数据库 唯一索引/乐观锁 性能低,适合低频

三、幂等与限流

  • 幂等:唯一索引、token 机制、状态机、乐观锁版本号,防重复提交/重试;
  • 限流:计数器、滑动窗口、令牌桶、漏桶;网关/Sentinel 实现。

四、微服务关键点

注册发现(Nacos/Eureka)、配置中心、熔断降级(Sentinel/Hystrix)、链路追踪(SkyWalking)、分布式事务(Seata/TCC)。面试常问”网络分区时你的系统选 CP 还是 AP、怎么保证不超卖”。