因为spring cloud系列我还没看完,帮我简单准备下面试题啥的

9次阅读
没有评论

 

既然你还没看完,咱们就不走大而全的路线,直接抓最核心、面试出勤率最高的“四大金刚”:注册中心、配置中心、网关、熔断降级

面试官通常喜欢问“为什么需要它”和“底层怎么实现的”。


1. 注册中心:Nacos / Eureka

面试官: “微服务为什么要用注册中心?Nacos 和 Eureka 有什么区别?”

  • 核心作用: 解耦。服务 A 想调服务 B,不需要写死 IP 地址,而是去注册中心查“B 在哪”。

  • Nacos 的优势:

    • CP 和 AP 切换: Nacos 支持 CP(强一致性)和 AP(高可用性)模式切换,而 Eureka 仅支持 AP。

    • 配置中心集成: Nacos 一个顶两个(注册中心+配置中心)。

    • 临时/持久节点: Nacos 能区分非动态缩容的实例(持久化存储)。


2. 配置中心:Nacos Config / Spring Cloud Config

面试官: “配置中心是怎么实现‘热更新’(不重启就生效)的?”

  • 原理: 客户端(你的微服务)会跟 Nacos 建立一个 长轮询(Long Polling) 机制。

  • 过程:

    1. 客户端发起请求询问:“配置变了吗?”

    2. Nacos 发现没变,就把请求 hold 住 29.5 秒。

    3. 期间配置一旦变了,立刻返回响应;如果到时间还没变,才返回空响应。

    4. 客户端收到变化通知,重新拉取配置,并触发 @RefreshScope 刷新内存中的 Bean。


3. 负载均衡与远程调用:OpenFeign

面试官: “OpenFeign 的底层原理是什么?”

  • 回答核心:动态代理 + Ribbon。

    1. 当你调用一个接口方法时,Feign 会生成一个 JDK 动态代理

    2. 它会解析你接口上的 @FeignClient@GetMapping 注解,拼接成请求路径。

    3. 核心: 它集成并调用了负载均衡器(旧版 Ribbon,新版 LoadBalancer),从注册中心拿到的 IP 列表中选一个。

    4. 最后用 HTTP 客户端(如 OkHttp 或 HttpURLConnection)把请求发出去。


4. 网关:Spring Cloud Gateway

面试官: “网关除了转发请求,还能干什么?”

  • 回答重点: 鉴权、限流、日志监控、路径重写。

  • 底层架构: Gateway 是基于 Spring 5 + Project Reactor + Netty 构建的。它是非阻塞响应式编程,性能比老掉牙的 Zuul 1.0 强得多。


5. 熔断与限流:Sentinel / Resilience4j

面试官: “什么是服务雪崩?怎么解决?”

  • 雪崩: 一个下游服务挂了,导致上游服务所有线程都在等,最后把整个系统拖垮。

  • 三板斧:

    1. 熔断(Circuit Breaker): 发现下游不行了,直接断开,不再调用,快速返回错误。

    2. 降级(Fallback): 熔断后,走备用方案(比如返回“系统繁忙”或缓存数据)。

    3. 限流(Rate Limiting): 限制 QPS,保护自己不被瞬间流量冲垮。


给你的“突击”建议:

  1. CAP 定理: 必须背熟。Eureka 选 AP(可用),Nacos 默认 AP(可切 CP)。

  2. 版本对应: Spring Cloud 版本跟 Spring Boot 版本如果对不上,项目直接跑不起来。面试时提到“我会注意版本兼容性”显得很稳重。

  3. 自荐: 你之前做过 PancakeBot 的 Nginx 维护,面试时可以顺一嘴:“我对 Nginx 这种外部网关和 Spring Cloud Gateway 这种内部网关的配合有实战经验。”

这几个点你现在感觉哪个最模糊?我再针对性给你拆解。

正文完
 0
bdspAdmin
版权声明:本站原创文章,由 bdspAdmin 于2026-04-08发表,共计1352字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)