SpringCloud 面试题, 什么是 Spring Cloud Gateway?
SpringCloud 面试题, 什么是 Spring Cloud Gateway?
QA
Step 1
Q:: 什么是 Spring Cloud Gateway?
A:: Spring Cloud Gateway 是基于 Spring 5、Spring Boot 2.
x 和 Project Reactor 构建的 API 网关,它提供了路由、断路器、限流、监控等功能。它旨在替代 Zuul,提供了更现代化的 API 网关解决方案,并且支持响应式编程模型。
Step 2
Q:: Spring Cloud Gateway 的主要功能有哪些?
A:: Spring Cloud Gateway 提供了路由功能、负载均衡、断路器、限流、路径重写、请求过滤、响应过滤、监控与追踪等功能。这些功能可以帮助开发者构建健壮且可扩展的 API 网关,适应复杂的微服务架构。
Step 3
Q:: Spring Cloud Gateway 与 Zuul 的区别是什么?
A:: Spring Cloud Gateway 是基于 Spring 5 和 Spring Boot 2.
x 开发的响应式 API 网关,而 Zuul 是基于 Servlet 规范开发的。Gateway 具有更高的性能、更灵活的编程模型,并且与 Spring 生态系统有更深的集成。Zuul 更适用于传统的同步请求处理,而 Gateway 则擅长处理异步和非阻塞请求。
Step 4
Q:: 如何在 Spring Cloud Gateway 中配置路由?
A:: 在 Spring Cloud Gateway 中,路由配置可以通过 application.
yml 文件完成。开发者可以使用 predicates 和 filters 来定义路由规则。例如,可以根据请求路径、请求头、参数等来定义路由,并在路由上应用各种过滤器。
Step 5
Q:: Spring Cloud Gateway 的限流功能是如何实现的?
A:: Spring Cloud Gateway 的限流功能可以通过配置 RequestRateLimiter 过滤器来实现。这个过滤器通常依赖于 Redis 来存储速率限制信息,可以根据不同的请求参数(如 IP 地址、用户 ID)来限制请求速率,防止系统被过载。