后端岗位面试题更新 2026-08-05

请描述你在实际项目中为获取题目接口接入 Sentinel 的过程,具体说明限流和熔断是如何配置与生效的?

后端开发系统设计技术原理问题排查Java

考察说明

考查候选人对 Sentinel 的限流和熔断机制的理解及实际落地能力。

回答思路

  1. 【回答框架 1】Sentinel 是面向分布式服务架构的流量控制组件,核心是围绕资源进行规则配置,支持流量控制、熔断降级、系统负载保护等功能。对获取题目接口限流,首先将该接口定义为资源,通常通过注解 @SentinelResource 或在网关层对 URL 进行适配。
  2. 【回答框架 2】限流配置可通过控制台或代码动态设置规则,常用限流模式包括 QPS 并发线程数,以及流控效果如快速失败、Warm Up 预热、排队等待。针对获取题目接口,通常按 QPS 设置阈值,并结合调用方来源做流控,如对普通用户和 VIP 用户设置不同限额,避免接口被突发流量打垮。
  3. 【回答框架 3】熔断降级方面,Sentinel 支持基于慢调用比例、异常比例或异常数的策略。对获取题目接口,可设置当接口响应时间超过阈值或异常比例达到设定值(如 10%)时,触发熔断,后续请求直接走降级逻辑,如返回兜底数据或抛出限流异常,避免因依赖下游故障而拖垮整个服务。
  4. 【回答框架 4】实现时需引入 Sentinel 依赖,初始化并将接口注册为资源,同时配置对应的规则,可在代码中加载或通过控制台推送,并利用 @SentinelResource 的 fallback 和 blockHandler 指定降级及限流后的处理函数。还需注意规则持久化及集群限流等高级特性。
  5. 【回答框架 5】最后,上线前进行压测确定合理的阈值,并监控 Sentinel 控制台或通过 API 查看实时流量和熔断状态,及时调整规则以保证接口稳定性。
  6. 【关键点 1】Sentinel 核心是资源 + 规则,资源通过注解或 API 定义。
  7. 【关键点 2】限流常用 QPS 阈值,支持来源限流、Warm Up 等效果。
  8. 【关键点 3】熔断策略包括慢调用比例、异常比例、异常数,触发后走降级逻辑。
  9. 【关键点 4】通过 @SentinelResource 的 blockHandler 和 fallback 处理限流与降级。
  10. 【关键点 5】需结合压测确定阈值,并用监控调整规则。
  11. 【易错点 1】仅配置限流而不配置熔断可能导致依赖故障时长时间不可用。
  12. 【易错点 2】忽略规则持久化,重启应用后规则丢失。