Skip to content

微服务面试题 ​

本文整理 Java 后端开发高频面试题的微服务部分。每道题统一格式:题目 → 答案 → 对比表 / 代码示例 / 一句话记忆。


1. 服务网关作用 ​

服务网关是微服务架构的统一入口,所有外部请求先经过网关,再路由到具体服务。核心作用包括 6 项:

  1. 服务路由:根据请求路径将请求转发到对应的后端服务实例,支持负载均衡。
  2. 负载均衡:在多个服务实例间分发请求(集成 Ribbon / LoadBalancer)。
  3. 流量控制:限流、熔断、降级,保护后端服务不被流量打垮。
  4. 熔断保护:后端服务异常时快速失败,防止级联故障(集成 Sentinel / Hystrix)。
  5. 日志监控:统一记录请求日志、调用链追踪、指标上报。
  6. 安全认证:统一鉴权(JWT、OAuth2)、黑白名单、跨域处理、防爬虫。
客户端请求 → [网关: 路由/鉴权/限流/熔断/日志] → 微服务A / 微服务B / 微服务C

主流网关对比:

对比项Spring Cloud GatewayZuulNginx
出品方Spring(Pivotal)Netflix开源
版本Spring Cloud Gateway 3.xZuul 1.x(已停更)/ Zuul 2.x-
编程模型Reactor + Netty(异步非阻塞)Servlet(同步阻塞)/ Zuul 2 异步C(事件驱动)
性能高(基于 WebFlux)Zuul 1 中等极高
功能路由、过滤、限流、熔断路由、过滤反向代理、负载均衡、静态资源
可编程性强(Filter / Predicate 可自定义)中(Filter)弱(配置为主,需 Lua 扩展)
生态Spring Cloud 原生集成Netflix OSS(已停止维护)通用
适用场景Spring Cloud 微服务网关老项目流量入口 / 静态资源 / 传统负载均衡

实际架构中常配合使用: Nginx 作为最外层反向代理(负载均衡 + 静态资源),Spring Cloud Gateway 作为业务网关(路由 + 鉴权 + 限流)。

💡 一句话记忆:网关六大作用 = 路由 + 负载 + 限流 + 熔断 + 日志 + 鉴权;Spring Cloud 首选 Gateway,Zuul 已停更。


相关笔记 ​

  • [技术型面试题-01-Java基础.md](file:///Users/pika/fsf/project/fsf-lunar-base/note/08-工作/06-面试/技术型面试题-01-Java基础.md)
  • [技术型面试题-02-JVM.md](file:///Users/pika/fsf/project/fsf-lunar-base/note/08-工作/06-面试/技术型面试题-02-JVM.md)
  • [技术型面试题-03-Spring.md](file:///Users/pika/fsf/project/fsf-lunar-base/note/08-工作/06-面试/技术型面试题-03-Spring.md)
  • [技术型面试题-04-Redis.md](file:///Users/pika/fsf/project/fsf-lunar-base/note/08-工作/06-面试/技术型面试题-04-Redis.md)
  • 消息队列面试题:note/08-开发/11-消息队列/ 目录下的 Kafka、RabbitMQ、RocketMQ 面试题与架构详解
  • 非技术型面试题:[非技术型面试题.md](file:///Users/pika/fsf/project/fsf-lunar-base/note/08-工作/非技术型面试题.md)
  • 技术栈知识整理:[知识整理.md](file:///Users/pika/fsf/project/fsf-lunar-base/note/08-工作/知识整理.md)

版本说明 ​

本文内容基于以下版本编写:

  • Java:以 JDK 8 为主,部分内容兼顾 JDK 17(LTS)特性。
  • Spring / Spring Boot:基于 Spring Framework 6.x、Spring Boot 3.x。
  • Redis:基于 Redis 7.x,兼顾 6.0 多线程、4.0 LFU 等版本特性。
  • JVM:以 HotSpot 虚拟机为主,垃圾回收器涵盖 CMS、G1、ZGC。