Java面试题更新 2026-08-05

请列举你熟悉的网关技术,并针对其中一种或几种详细说明其工作原理、适用场景及优缺点。

技术原理技术选型JavaNginxSpring Cloud Gateway

考察说明

考察候选人对网关技术的知识广度和深度,以及能否结合实际场景进行技术选型。

回答思路

  1. 【回答框架 1】网关是系统对外的统一入口,负责路由转发、负载均衡、认证鉴权、限流熔断、日志监控等横切关注点。常见网关分为传统网关和云原生网关两类。
  2. 【回答框架 2】传统网关包括Nginx、Spring Cloud Gateway、Zuul等。Nginx基于C编写,性能高,常用于反向代理和负载均衡;Spring Cloud Gateway基于WebFlux,非阻塞式,集成Spring生态,适合微服务架构;Zuul有Zuul 1和Zuul 2,Zuul 1基于Servlet,阻塞式,性能较差,现已逐步被Gateway替代。
  3. 【回答框架 3】云原生网关如Kong、APISIX、Envoy等,它们支持动态配置、服务发现和多协议转换。Kong基于OpenResty,插件丰富;APISIX是Apache基金会项目,支持热更新和高性能;Envoy是数据面代理,常用于Service Mesh中。
  4. 【回答框架 4】选择网关需考虑功能需求、性能要求、技术栈兼容性和运维成本。例如,若使用Spring Cloud微服务,可以选择Spring Cloud Gateway;若需高并发和动态路由,APISIX或Kong更合适。同时要关注网关自身的高可用和扩展性。
  5. 【关键点 1】网关的核心功能包括路由、负载均衡、认证、限流、熔断、灰度发布等。
  6. 【关键点 2】Sprint Cloud Gateway基于Netty和WebFlux,非阻塞式,性能优于Zuul 1。
  7. 【关键点 3】APISIX和Kong属于云原生API网关,支持动态配置和插件系统。
  8. 【关键点 4】Envoy高性能但配置较复杂,多用于Service Mesh。
  9. 【关键点 5】网关选型需结合业务场景和技术栈,没有绝对最优方案。
  10. 【易错点 1】不要只罗列网关名称,要说出各自的核心差异和适用场景。
  11. 【易错点 2】避免将网关功能描述得过于强大,例如网关不保证业务幂等,熔断和限流需配合其他机制。
  12. 【易错点 3】在比较性能时,不能仅凭理论或他人经验,应基于实际压测数据。