SentinelResource的使用
在定义了资源点之后,我们可以通过 Dashboard 来设置限流和降级策略来对资源点进⾏保护。同时还能通过 @SentinelResource 来指定出现异常时的处理策略。 @SentinelResource ⽤于定义资源,并提供可选的异常处 理和 fallback 配置项。
其主要参数
这⾥我们着重看当发⽣异常后处理逻辑
⽅式⼀ :直接将限流和降级⽅法定义在⽅法中,也就是说资源⽅法和处理⽅法都在⼀个类中。这种其实就是局部的写法。
- 创建⼀个资源定义⽅法
- 书写处理blockException的处理逻辑
- 书写处理其他异常的处理逻辑(兜底⽅法)
实际开发当中经常出现,服务限流,但是超出规则的默认返回提示,这样不太符合业务逻辑。可以使⽤ blockHandler 来指定⼀个出现异常的兜底⽅法。
⽅式⼆
上边讲解了使⽤了 blockHandler 和 fallback ,其实更多的是异常⽅法的指定,其实我们也可以使⽤ blockHandlerClass 和 fallbackClass 来处理这样的情形(全局兜底)。
- 创建⼀个资源⽅法
- 书写⼀个全局 blockException 的处理逻辑
- 书写⼀个全局处理其他异常的处理逻辑