Learning Focus

学习目标

把每节内容压缩成可以直接执行的工程判断,阅读时优先看目标,再看代码。

Focus 01

熔断在下游持续失败时快速拒绝请求,避免调用方被拖垮。

Focus 02

限流控制入口流量,保护系统容量边界。

Focus 03

降级提供可接受的备用结果,让核心流程继续运行。

理解方式

先把概念放进完整系统中理解,再用最小代码或配置确认它如何工作。

  • 它解决什么问题。
  • 它依赖什么组件。
  • 它失败时怎么处理。

示例

代码示例突出最小可理解片段,用来连接概念和工程实践。

熔断注解
@CircuitBreaker(name = "recommend", fallbackMethod = "fallback")
public Recommendation getRecommendation(Long userId) {
    return modelClient.predict(userId);
}

Recommendation fallback(Long userId, Throwable error) {
    return Recommendation.empty(userId);
}

常见误区

  • 只记配置项,不理解它在调用链路中的位置。
  • 把示例代码直接搬进生产环境,没有补充超时、校验、日志和回退策略。
  • 学习神经网络时只看框架 API,不检查输入输出形状和数据分布。

练习

给推荐服务设计一个降级策略:当模型服务不可用时页面应显示什么。