请介绍项目中 Gateway 网关的作用,以及它是如何实现服务路由的?
考察说明
考察候选人对于微服务网关的作用和路由机制的理解程度。
回答思路
- 【回答框架 1】微服务网关作为系统的统一入口,承担请求转发、负载均衡、路由、鉴权、限流、日志监控等职责,核心作用是解耦客户端与后端服务,并提供横切关注点的统一处理。
- 【回答框架 2】路由是网关的核心功能,其实现基于路由配置。Route 通常包含 id、uri 和断言(predicates)与过滤器(filters),断言决定了请求匹配条件,uri 指向目标服务,过滤器用于修改请求或响应。
- 【回答框架 3】在 Spring Cloud Gateway 中,路由配置可写在配置文件中,也支持通过服务发现(如 Nacos)动态获取服务实例,实现基于服务名的路由和负载均衡。请求到达网关后,网关根据断言匹配路由,并通过过滤器链处理后转发到下游服务。
- 【回答框架 4】其他网关如 Nginx 或 Kong 也有类似的路由机制,但配置和扩展方式不同。实际落地时需关注路由规则的冲突、超时设置、重试机制以及网关本身的性能与可用性。
- 【关键点 1】网关的四大核心作用:路由转发、统一鉴权、限流降级、日志监控。
- 【关键点 2】路由由 id、uri、断言和过滤器组成,断言决定匹配,uri 指向目标。
- 【关键点 3】结合注册中心可实现服务名路由,避免硬编码地址。
- 【关键点 4】过滤器链用于在转发前后做额外处理,如鉴权、修改请求头。
- 【关键点 5】网关作为入口,能屏蔽后端服务细节,提升系统安全性和可维护性。
- 【易错点 1】路由配置错误或不合理可能导致请求转发失败或性能瓶颈,需注意优先级和通配符匹配。
- 【易错点 2】网关注入过多业务逻辑会使网关变得庞大,降低灵活性。
- 【易错点 3】忽视网关的高可用或性能优化,可能成为系统单点故障或瓶颈。