🔥 Spring Cloud微服务面试10题(2026版)

📅 2026-05-22 · 🏷️ Spring Cloud · 微服务 · Java实习面试 · 阅读约8分钟

2026年Java实习面试中,微服务相关题目占比从去年的15%飙升到30%+。Spring Cloud Alibaba已成为国内主流微服务技术栈——Nacos、Sentinel、Seata是面试必考。本文精选10道高频题,每道都附带标准答案。

1. Nacos的服务注册与发现原理是什么?

核心机制:Nacos采用 临时实例(AP)持久实例(CP) 双模式。

临时实例:服务启动→向Nacos注册→维持心跳(5秒)→Nacos 15秒没收到心跳→剔除实例。基于Distro协议,保证AP(可用性+分区容错)。

持久实例:服务启动→注册→Nacos持久化存储。基于Raft协议,保证CP(一致性+分区容错)。适合对一致性要求高的场景。

面试亮点:"Nacos其实比Eureka强——它不仅做注册中心,也是配置中心。Netflix把Spring Cloud Netflix捐给Apache后,国内企业全面迁移到Nacos。"

2. Sentinel的限流算法是什么?和RateLimiter有什么区别?

Sentinel默认使用滑动窗口算法:将时间窗口切分为多个小窗口,每个窗口独立计数。相比固定窗口避免了"突刺"问题。

QPS模式:每秒请求数超过阈值→拒绝。适合保护下游服务。

并发线程数模式:同一时刻处理的请求数超过阈值→拒绝。适合保护慢调用。

Sentinel vs Guava RateLimiter:RateLimiter是单机令牌桶,Sentinel支持集群流控+控制台实时调整,生产环境更实用。

3. 微服务间调用,Feign和Dubbo怎么选?

Feign(声明式HTTP客户端):

• Spring Cloud原生支持,基于HTTP/JSON

• 集成Ribbon负载均衡 + Sentinel熔断

• 适合:跨语言调用、对外开放API、简单RESTful场景

Dubbo(RPC框架):

• 阿里开源,基于TCP + 自定义协议

• 性能更高(二进制传输),服务治理更完善

• 适合:纯Java微服务、高并发内部调用、需要服务分组/版本路由

一句话选型:对外用Feign/RestTemplate,对内高并发用Dubbo。

4. Gateway网关的核心功能有哪些?

Spring Cloud Gateway基于WebFlux(响应式编程),性能比Zuul高3-5倍:

路由转发:根据Path/Host/Header转发到不同微服务

统一鉴权:在Gateway层校验JWT Token,下游服务不需要重复鉴权

限流:集成Redis + RequestRateLimiter

跨域处理:统一配置CORS

负载均衡:集成Spring Cloud LoadBalancer

spring:
  cloud:
    gateway:
      routes:
        - id: seckill
          uri: lb://seckill-service
          predicates:
            - Path=/seckill/**
5. 分布式事务Seata的AT模式是怎么实现的?

Seata AT模式 = 两阶段提交的改良版:

一阶段:各服务执行本地事务 + 记录undo_log(回滚日志)

二阶段-提交:TC通知所有RM删除undo_log,释放锁。

二阶段-回滚:TC通知RM根据undo_log做反向补偿。

核心优势:对业务代码无侵入,只需加@GlobalTransactional注解。

面试陷阱:"AT模式依赖数据库的ACID,如果用的是Redis+MongoDB组合,需要用TCC模式(Try-Confirm-Cancel)。"

6. 微服务的配置中心为什么要用Nacos而不是application.yml?

application.yml的问题:

• 修改配置需要重新打包部署(CI/CD流水线10-30分钟)

• 多环境(dev/test/prod)管理混乱

• 敏感信息(密码/密钥)暴露在代码仓库

Nacos配置中心解决:

动态刷新:修改配置后秒级生效(@RefreshScope)

环境隔离:namespace区分dev/prod

灰度发布:按标签推送不同配置

版本回滚:配置历史可追溯

7. 服务雪崩是什么?怎么防止?

服务雪崩:A→B→C,C挂了→B的线程池打满→A调用B超时→A也挂了→整个链路崩溃。

三层防护(Sentinel实现):

限流:QPS阈值保护。每秒最多处理N个请求。

熔断:慢调用比例>50%→打开断路器→快速失败→半开探测→恢复。

降级:返回兜底数据(如"活动太火爆"页面),而不是直接报错。

8. Spring Cloud Alibaba和Spring Cloud Netflix有什么区别?

2026年国内企业事实标准:

组件Netflix(已停止维护)Alibaba(主流)
注册中心EurekaNacos
限流熔断HystrixSentinel
网关ZuulGateway
配置中心ConfigNacos
分布式事务Seata
9. 负载均衡算法有哪些?Ribbon默认是什么?

常见算法:

轮询(RoundRobin):依次分配,默认算法。适合服务器性能一致。

随机(Random):随机选一台。

加权(Weighted):性能好的机器权重高。

最小连接数:选当前连接最少的机器。

一致性哈希:相同用户请求打到同一台(适合有状态服务)。

2026年:Spring Cloud LoadBalancer已替代Ribbon(Ribbon进入维护模式)。

10. 你在项目里怎么用Spring Cloud Alibaba的?

以秒杀项目为例的标准回答:

"我的微服务秒杀项目使用Spring Cloud Alibaba全家桶。Nacos做服务注册发现和配置中心(动态刷新不用重启),Gateway统一鉴权路由到seckill-service,Sentinel在入口做QPS限流(防止流量尖刺),Seckill服务里用Redis Lua脚本原子扣库存,扣成功发RocketMQ异步落库削峰。整个架构能支撑QPS 5000+,库存0超卖。"

—— 这个回答覆盖了5个核心组件,面试官会立刻觉得你有真实微服务经验。