精通Sentinel
文章平均质量分 85
学习Sentinel
上海第一深情Alan
精通java生态圈源码
展开
-
Sentinel源码四:限流
发现他去调用了 node 的方法根据 grade 分别去获取 curThreadNum(当前线程数)和 passQps,我们在这里主要研究 qps,研究每秒限制通过多少请求,继续跟入进去,来到 StatisticNode 类中,这里的逻辑也很简单,就是查询这个resource(接口)的所有流控规则,然后调用所有的流控规则的canPassCheck方法。这里代码就不往里面继续看了,核心逻辑就是拿出有效的所有样本窗口,将所有有效的样本窗口的通过数加起来。本地走的话,直接就是passLocalCheck。原创 2024-04-29 08:27:31 · 533 阅读 · 0 评论 -
Sentinel源码三:滑动窗口
本篇主要还是介绍了滑动窗口进行一个qps等数据的保存和维护的,后续我们将进入flowSlot的源码分析,看看限流是如何运用刚刚统计到的信息进行一个限流判定的。原创 2024-04-29 08:27:44 · 1730 阅读 · 0 评论 -
Sentinel源码二:责任链
在源码分析前还是讲一下Node、Context、CtEntry的逻辑,后面会大量的用到当属于同一个应用下的请求过来后,会首先判断是否有Root,没有的话就会新建一个Root节点。 再往下就会出现EntranceNode、DefaultNode、CLusterNode三种node,那这三种节点又是什么关系呢?我们首先看一下这三个节点类的关系图:其中StatsticNode是用作数据统计的,那根据继承关系其他三个Node也是进行数据统计的,那么它们分别的作用是什么那?在讲这三个Node前,大家要明白Sentin原创 2024-04-25 00:24:35 · 939 阅读 · 0 评论 -
Sentinel源码一:Sentinel概览
Sentinel是分布式系统的防御系统。以流量为切入点,通过动态设置的流量控制、服务熔断等手段达到保护系统的目的,通过服务降级增强服务被拒后用户的体验丰富的应用场景:Sentinel承接了阿里巴巴近10年的双十一大促流量和核心场景,例如秒杀(即突发流量控制在系统容量在可以承受的范围)、消息削峰填谷、实时熔断下游不可用应用等完备的实时监控:Sentinel同时提供实时的监控功能。您可以在控制台看到接入应用的单台机器秒级数据。原创 2024-04-25 00:03:54 · 625 阅读 · 0 评论