Skip to content

微服务网关治理面试题:Gateway、OAuth2、JWT、限流、灰度与排查

本页只放面试标准回答和原理跳转。完整链路、流程图、Demo 和 Runbook 见网关治理主线

高频问题

面试题标准回答原理知识点
Gateway 做什么Gateway 是微服务统一入口,负责路由转发、认证、粗粒度授权、限流、跨域、灰度、Header清洗、Trace和审计。它应该保持薄,不放复杂业务、数据库事务和领域状态机。职责边界
一次请求在 Gateway 怎么走请求进入后先生成或读取traceId,匹配Route和Predicate,执行前置Filter做认证、限流、灰度和Header清洗;lb://服务名触发LoadBalancer选择真实实例,再由HTTP客户端转发,下游响应回来后执行后置Filter记录指标并返回。请求链路
Gateway、Nginx、Ingress、Mesh 区别Nginx偏通用反向代理和TLS终止;Ingress偏K8s入口路由;Gateway偏微服务入口治理;Mesh偏服务间mTLS、路由和指标;业务服务负责业务授权、事务和状态机。它们可以协作,但不能职责混乱。组件分工
Gateway 怎么做统一认证Gateway校验JWT或Access Token的签名、过期、issuer、audience和scope,清洗外部伪造身份Header,再写入可信用户上下文或透传Token。认证失败返回401,权限不足返回403。统一认证
OAuth2/OIDC 在微服务怎么落地认证授权中心负责登录和签发Token;Gateway作为入口Resource Server校验Token,也可作为OAuth2 Client处理登录;业务服务作为Resource Server再次校验Token,并在Service层做方法权限、租户权限和数据权限。OAuth2/OIDC链路
Gateway 鉴权后下游为什么还要校验权限Gateway适合做登录态和路由级粗授权,但资源归属、租户、医院、科室、订单状态等业务权限必须由服务层基于事实源判断。否则绕过网关、Header伪造或网关规则错误会造成越权。下游授权
服务间调用怎么授权代表用户的同步调用透传用户Token或受控身份上下文;定时任务、MQ消费者、批处理等系统调用使用client_credentials获取服务账号Token,并按最小权限授权。不能伪造管理员用户。服务间调用授权
JWK密钥轮换为什么会导致401JWT验签依赖kid匹配本地JWK公钥缓存。若认证中心先用新私钥签Token但新公钥还没被资源服务看到,或旧公钥过早删除,Gateway和下游会大面积401。轮换要先发布新公钥、再切签名、旧Token过期后再删除旧公钥。JWK缓存和密钥轮换
JWT权限变更后怎样尽快生效JWT自包含,旧Token未过期时旧scope可能继续有效。常用短Access Token、受控Refresh Token、token_version、黑名单、Opaque Token introspection和关键权限实时查组合缩短撤销窗口。Token撤销和权限变更
Gateway 限流 key 怎么设计按保护对象设计。匿名防刷可用IP,登录接口可用用户ID,SaaS和医疗系统常用租户ID或租户+接口,热点资源可用资源ID。网关限流保护入口,服务内限流保护线程池、数据库、Redis和第三方。限流设计
Gateway 灰度怎么做Gateway根据用户、租户、Header、Cookie、权重或地域计算灰度标签,写入可信Header;下游或LoadBalancer按metadata过滤实例。每个请求要记录routeId、灰度标签、目标版本、目标IP和是否回退。灰度和路由
Gateway 404、503、504 怎么排查404查Route、Predicate、Path重写和下游路径;503查lb://服务名、注册中心实例、namespace/group、健康状态、灰度过滤和熔断;504查Gateway超时、下游P99、连接池等待、线程池、慢SQL、锁、GC和重试放大。生产Runbook

场景题

1. Gateway 统一认证后,后端服务能不能完全放行

标准回答:

不能。Gateway是入口第一道门,适合做登录态校验、Token校验、Header清洗和路由级粗授权;后端服务仍要作为Resource Server校验Token或受信任内部身份,并在Service层做数据权限和状态权限。比如用户有资产查询权限,不代表能查所有医院的资产。生产还要禁止绕过网关直连服务,外部传入的用户Header必须由Gateway删除并重写。

原理入口:统一认证和下游授权

2. Gateway 返回 503,但是注册中心有实例,怎么办

标准回答:

注册中心有实例不等于Gateway当前可用。先查lb://服务名是否写对,再查namespace、group、cluster是否一致;然后看实例健康、权重、metadata灰度标签是否匹配,LoadBalancer过滤后候选是否为空;再查Gateway本地缓存、注册客户端缓存和熔断状态。不能只看注册中心控制台。

原理入口:Gateway 503 Runbook

3. Gateway 超时后能不能自动重试

标准回答:

查询类请求可以在总Deadline和重试预算内有限重试,但写请求不能盲目重试。504只说明Gateway没有按时拿到响应,不代表下游没有执行;下游可能已经提交数据库、发消息或调用第三方。写请求必须携带幂等号,超时后先查询事实,再决定返回、补偿或安全重试。

原理入口:错误语义Gateway 504 Runbook

面试回答模板

text
Gateway是微服务统一入口,负责路由、认证、粗粒度授权、限流、灰度、Header清洗、Trace和审计。请求进入后先匹配Route和Predicate,再执行Filter链;如果uri是lb://服务名,会通过LoadBalancer从本地实例快照选择真实IP端口,最后由HTTP客户端转发。Gateway不能替代业务服务授权,数据权限、租户权限、状态机和事务必须在服务层校验。OAuth2/OIDC场景下,认证中心签发Token,Gateway校验Token并清洗外部Header,下游服务再次校验Token并做资源授权。排查时按401、403、404、429、503、504分层定位。

本章小结

网关面试不要只背 Route、Predicate、Filter。要能把入口请求链路、OAuth2/JWT、下游授权、限流 key、灰度标签、LoadBalancer、错误语义和生产排查串起来。