sentinel源码浅析

sentinel源码浅析

sentiel主要设计模式是责任链,核心是下面这张图,接下来结合图对源码进行分析

首先进入这里

这个是重要方法,原理这要哦由这个bean体现

其他是分支逻辑,不重要,重要的是划线部分的语句

if里面由return一般是分支逻辑,不重要,划线重要

一开始为空,肯定走划线逻辑

实现类有很多,第一次执行的是default,上面有提及

继续执行

结合第一张图片执行的是node这个实现类,参考第一张图片

直接追到责任链里最后两个,其他的没什么逻辑,不重要,接下来这个是流量的slot,作用是进行流控

接下来走这里 看名字就知道我们走的是单机

这个方法有很多实现类

对应三个算法,具体不用看,逻辑很复杂

接下来进行熔断校验

核心是这个方法

进到这里

逻辑如下

接下来回来,退出时又会执行一次校验链

核心是降级的slot,其他不用看

接下来走这个方法

这里是核心逻辑

有两个模式,一个是慢回复,一个是异常

以慢回复为例

核心是这个方法

逻辑如下

其他具体的算法没去研究,对于学习来讲不是很重要,没必要去研究

相关推荐
geovindu1 小时前
CSharp: Prototype Pattern
开发语言·后端·设计模式·.net·原型模式·创建型模式
Listen·Rain1 小时前
Springboot整合Ollama实现调用本地多模型
java·spring boot·后端
张三丰22 小时前
Agent 不只是聊天框:用 ArkUI 做一个鸿蒙任务工作台
后端
卷无止境2 小时前
从Python的cryptography库出发,从零开始理解密码学,到构建零信任网络
后端·python
Augustzero2 小时前
`co_await` 按下暂停键之后:从零看懂 C++20 协程
c++·后端
IguoChan4 小时前
4. d2l — 模型选择、欠拟合和过拟合
后端
shepherd1264 小时前
一次把 Spring MVC 文件上传参数“查没了”的排查:multipart、Filter 与 request body 的连环坑
java·后端·spring·mvc
贺国亚5 小时前
Prompt-Injection攻防与OWASP-LLM
后端
卷无止境5 小时前
《Deep Analysis with Polars》进阶分析技巧——深入解读
后端·python
Csvn6 小时前
Python 开发技巧 · logging 最佳实践 —— 告别 print,搭建工程级日志系统
后端·python