Closed
Description
Type: bug report
你好,我最近在整合Sentinel的一个项目中,发现设置的异常阈值,跟实际异常出现的比例并不符合。
就以官方的这个ExceptionRatioDegradeDemo为例子,在该例子中,根据产生异常的比例的代码片段:
if (count % 2 == 0) { // biz code raise an exception. throw new RuntimeException("throw runtime "); }
很明显,产生异常的比例就为50%了嘛。我将原代码中DegradeRule的阈值设为0.4。那么应该就会出现服务降级了吧?实际并没有。(不知道怎么上传图片,你们可以试试)。
就在这个demo中,后来经我反复调整阈值,发现异常产生比例为0.5时,阈值的临界值为0.33 。
同样的操作,发现异常产生的比例为0.25时,阈值的临界值为0.23.
异常产生的比例为0.33时,阈值的临界值为0.26。
异常比例为1时(即100%),阈值的临界值为0.50
不知是该demo的问题还是我本地测试的问题,烦请指教! 谢谢!
demo地址:https://github.com/alibaba/Sentinel/blob/master/sentinel-demo/sentinel-demo-basic/src/main/java/com/alibaba/csp/sentinel/demo/degrade/ExceptionRatioDegradeDemo.java