Java 后端面试题库 / 全部题解免费阅读理解原理,有条理地回答

@SentinelResource 如何区分 blockHandler 和 fallback?

查看完整题解

参考回答

直接回答

注解为方法定义 Sentinel 资源名。blockHandler 处理规则拦截,如限流或熔断拒绝。fallback 处理未被配置排除的业务异常。没有专门拦截处理器时,还需按版本确认其兜底优先级。

讲清原理

处理方法须匹配原方法参数和返回类型,拦截处理器还带一个 BlockException。通过同类内部调用可能绕过 Spring 代理,规则因此不生效。

例子与易错点

查询被限流可返回“请稍后再试”。查库存代码自己抛出的业务异常则落到应用异常处理或对应 fallback。两种情况应分别压测。

延伸阅读 Sentinel 的资源是什么,怎样定义? · Spring Boot 或 Spring Cloud 怎么接入 Sentinel? · BlockException 怎么捕获和处理?

这道题,你掌握得怎么样?

掌握程度由你主动标记,阅读和收藏不会自动改变状态。