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

在一个题库列表接口中,你会怎样基于 Sentinel 设计限流与熔断策略?请描述你的落地实现细节。

后端开发风险判断系统设计方案权衡

考察说明

考查候选人对 Sentinel 在真实接口中限流与熔断落地的理解,包括规则配置、资源定义、降级与恢复机制。

回答思路

  1. 【回答框架 1】首先明确 Sentinel 的核心模型:资源是保护对象,通常用接口路径或方法签名定义;规则包括流量控制、熔断降级与系统保护,可动态配置。针对题库列表接口,我会选用 QPS 或并发线程数作为流控维度,依据接口历史峰值与可用资源设定阈值,并配置排队等待或快速失败的处理策略。
  2. 【回答框架 2】熔断部分,我会基于 Sentinel 的熔断策略(慢调用比例、异常比例或异常数)识别下游依赖或接口自身的不稳定状态。例如,设置最小请求数和统计时长,当慢调用比例或异常比例超过阈值时触发熔断,进入半开状态探测恢复。
  3. 【回答框架 3】在接入方式上,我通常使用注解或 Sentinel 提供的 API 将接口包裹为受保护资源,并在 Sentinel Dashboard 或控制台维护规则,实现动态推送与实时监控。同时配置 fallback 或 blockHandler 方法,在触发限流或熔断时返回降级响应(如缓存数据或友好提示),避免直接抛出异常。
  4. 【回答框架 4】最后,会关注规则与业务场景的匹配:限流阈值应根据压测和线上监控调优,熔断后的恢复策略需结合超时时间与半开验证。同时区分可能因调用方重试导致的流量放大,以及数据库连接等资源耗尽的风险,做整体联调与监控。
  5. 【关键点 1】Sentinel 资源定义是限流熔断的基础,通常对应接口或方法。
  6. 【关键点 2】流控规则可基于 QPS、并发线程数或关联资源,需结合接口特征选择。
  7. 【关键点 3】熔断策略涵盖慢调用比例、异常比例、异常数,需设置合理阈值与统计时长。
  8. 【关键点 4】降级处理通过 fallback 或 blockHandler 提供兜底响应,保证核心链路可用。
  9. 【关键点 5】规则应动态配置并配合监控与压测进行调优,避免静态设置引发误判。
  10. 【易错点 1】限流阈值设置不当(过高或过低)会导致服务雪崩或大量误拒,需要结合压测数据和实际流量波动调整。
  11. 【易错点 2】熔断恢复期间如果探测策略过于激进或宽松,可能造成反复熔断或影响正常流量。
  12. 【易错点 3】忽略调用方重试机制可能成倍放大请求,导致限流或熔断效果失真,需要整体设计全局控制。