面试题答案
一键面试Zuul
- 特点:
- 提供动态路由、监控、弹性、安全等功能。
- 可对请求进行过滤,如身份验证、性能监控等。
- 基于Servlet 2.5容器,支持阻塞式I/O。
- 适用场景:适用于需要对请求进行复杂过滤、转换以及动态路由规则配置的场景,传统的Java Web应用迁移到微服务架构时,可利用Zuul的过滤器功能对现有业务逻辑进行整合。
Spring Cloud Gateway
- 特点:
- 基于Spring 5.0、Spring Boot 2.0和Project Reactor等技术构建,支持非阻塞式I/O,性能更高。
- 具备丰富的路由匹配规则,如基于路径、请求头等。
- 易于与Spring生态系统集成,如Spring Security。
- 适用场景:对于性能要求较高,特别是在高并发场景下,Spring Cloud Gateway能更好地处理大量请求。适合新建的微服务项目,可充分利用其非阻塞特性和简洁的配置。
Nginx
- 特点:
- 高性能、轻量级,擅长处理静态资源,能有效减轻后端服务器压力。
- 具备反向代理、负载均衡功能,支持多种负载均衡算法。
- 稳定性高,可在不间断服务的情况下进行软件版本升级。
- 适用场景:适用于作为边缘网关,处理大量静态资源请求和进行简单的负载均衡。在前后端分离架构中,常作为前端应用的服务器,同时代理后端微服务。