本篇文章介绍的是SpringCloud Alibaba技术栈中针对熔断限流的解决方案——Sentinel,本篇文章的大纲如下所示: 一、概念介绍





【注】




【命令参数解释】








SphU.entry("process") 和 entry.exit() 包围起来即可(SphO也是一样的)。当然,也支持注解形式——@SentinelResource,注解方式后续我们会介绍到。SphU.entry时,如果资源被限流/熔断后,会抛出一个BlockException,然后在捕获异常后进行限流的逻辑处理。SphO.entry时,如果资源被限流/熔断后,会返回false。然后在else判断后进行限流的逻辑处理。SphO.entry时,需要资源使用完之后调用SphO.exit(),否则会导致调用链记录抛出ErrorEntryFreeException异常。

~/logs/csp/${appName}-metrics.log.xxx 里看到下面的输出:

【注释】
日志格式为:MetricNode.java




~/logs/csp/${appName}-metrics.log.xxx 里看到下面的输出:











【参数方法补充说明】



【参数方法补充说明】









































因此,对于Web Servlet环境,只是通过Filter的方式将所有请求自动设置为Sentinel的资源,从而达到限流的目的。









