Sentinel:SentinelResourceAspect
2021-02-05 19:15
阅读:682
-
SphU.entry(...)
请求进来前先调用 entry(...)方法,它有一个String resourceName
参数用来表示要访问的资源。内部先创建一个全新的 Entry 对象,然后进行链式的规则校验:授权、流控、降级、系统保护、黑名单等。
若通过了规则校验,则放行本次请求并记录统计信息;否则抛出BlockException
的子类对象,对应规则链上第一个未通过的规则,开发者通过 catch 这个异常并判断其类别来处理请求被拒绝的业务逻辑。 -
访问资源
通过规则校验的请求则可以访问资源,资源先简单粗暴的理解成将要调用的方法。
若在访问资源的过程中出现了错误,开发者可以 catch Throwable 并用Tracer.trace(ex)
将异常放入对应的 Entry 对象。 -
entry.exit(...)
entry(...)方法和 entry.exit(...)必须成对使用,通常 entry.exit(...) 放在 finally 中,确保它最后会被执行。
该方法对本次请求进行统计收尾工作,比如:计算本次请求的响应时长,处理第 2 步中可能存在的异常等。
文章来自:搜素材网的编程语言模块,转载请注明文章出处。
文章标题:Sentinel:SentinelResourceAspect
文章链接:http://soscw.com/index.php/essay/51464.html
文章标题:Sentinel:SentinelResourceAspect
文章链接:http://soscw.com/index.php/essay/51464.html
评论
亲,登录后才可以留言!