在前一篇文章首先启动了sentinel控制台,在本文中将介绍springboot客户端的相关配置,实现对springboot接口的流量、请求次数进行控制。首先先介绍一个非常重要的注解:
注解介绍
在具体配置之前介绍一下一个非常重要的注解:@SentinelResource
@SentinelResource
用于定义资源,并提供可选的异常处理和 fallback 配置项。 @SentinelResource
注解包含以下属性:
value
: 资源名称,必需项(不能为空)entryType
: 入口类型,可选项: EntryType.IN和EntryType.OUT(默认为EntryType.OUT
)blockHandler
/blockHandlerClass
:blockHandler
对应处理BlockException
的函数名称,可选项。若未配置,则将BlockException
直接抛出。blockHandler 函数访问范围需要是public
,返回类型需要与原方法相匹配,参数类型需要和原方法相匹配并且最后加一个额外的参数,类型为BlockException
。blockHandler 函数默认需要和原方法在同一个类中。若希望使用其他类的函数,则可以指定blockHandlerClass
为对应的类的Class
对象,注意对应的函数必需为 static 函数,否则无法解析。fallback
: fallback 函数名称,可选项,仅针对降级功能生效(DegradeException
)。fallback 函数的访问范围需要是public
,参数类型和返回类型都需要与原方法相匹配,并且需要和原方法在同一个类中。业务异常不会进入 fallback 逻辑。
说明:
value:定义资源名,该名称将会显示在控制台中,并且在定义流控以及熔断降级规则时,指定资源名称:
blockHandler是异