sentinel1.8.4流控和熔断过程图解
2022-08-24 14:44:00 0 举报
sentinel1.8.4流控和熔断过程图解
作者其他创作
大纲/内容
AbstractLinkedProcessorSlot#fireEntry
LogSlot#entry()
修改熔断器的开关状态handleStateChangeWhenThresholdExceeded(long rt)
NodeSelectorSlot.entry
AbstractCircuitBreaker#tryPass(Context context)
fromOpenToHalfOpen方法
class MyBlockExceptionHandler implements BlockExceptionHandler
异常处理
熔断流程DegradeSlot#entry
AbstractSentinelInterceptor#afterCompletion
DefaultController#canPass()实现了滑动事件窗口算法
FlowRuleChecker#passLocalChecker()
或者实现接口BlockExceptionHandler处理各种异常
StatisticSlot#entry@catch (BlockException e)
removeEntryInRequest()
流控规则等异常的处理方法
AbstractLinkedProcessorSlot#fireEntry()
ProcessorSlot<Object> chain = lookProcessChain(resourceWrapper);
return retryTimeoutArrived() && fromOpenToHalfOpen(context);
异常捕获2步
调用完成返回拦截
ResponseTimeCircuitBreaker#onRequestComplete()慢调用比例的处理方式
DispatcherServlet#doDispatch
1对资源需要加一个@SentinelResource(value = \"getUser\
AbstractSentinelInterceptor#preHandler()
SentinelResourceAspect#invokeResourceWithSentinel
sentinel1.8.4请求url 流控过程
0 条评论
下一页