sentinel源码解析
文章平均质量分 92
无唯~
这个作者很懒,什么都没留下…
展开
-
Sentinel源码解析-ProcessorSlot具体
判断上一次请求重试的时间距离当前时间有没有过重试间隔这里首先把熔断器状态成OPEN变更HALF_OPEN如果请求发生异常,则会把状态再从HALF_OPEN变成OPEN状态注:这里我们只看到了断路器状态从HALF_OPEN变成OPEN,和从OPEN变成HALF_OPEN,那么从CLOSE状态变成OPEN状态和从HALF_OEPN状态变成CLOSE状态我们还没看到,我们后续看下方法。原创 2023-02-12 15:03:22 · 603 阅读 · 0 评论 -
Sentinel源码解析-请求入口
首先是这个Tree,这个Tree是由NodeSelectorSlot这个插槽来创建的,每创建一个树都有一个Root节点,这个Root节点就代表的是一个应用,一个应用只会创建一个Root节点。这里首先判断注解中有没有指定资源名,如果指定了资源名就用注解指定的,如果没有指定资源名,则通过解析方法,通过通过方法所在类+方法名+方法参数类名拼接出来一个资源名。这里看好像是环境的初始化操作,初始化需要的对应组件,不是主线逻辑,我们在Env中已经知道。:统计节点,是Node接口的实现类,用于完成数据统计。原创 2023-02-05 16:45:23 · 693 阅读 · 1 评论 -
Sentinel源码解析-源码环境搭建
本文会讲解如何搭建Sentinel源码调试环境,以方便更好的debug源码,如果对sentinel还不了解的话,可以先参考官方文档:Sentinel官方文档这里controller提供的两个api都会去调用TestService,我们的流控规则也定义在testService中这里方法都通过SentinelResource注解来标注成一个资源,并指定了资源名和callback方法和处理BlockException的handler。我们运行DemoApplication,启动这个demo服务。这里d原创 2022-12-03 17:57:25 · 757 阅读 · 0 评论