sentinel源码浅析

sentinel源码浅析

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

首先进入这里

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

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

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

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

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

继续执行

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

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

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

这个方法有很多实现类

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

接下来进行熔断校验

核心是这个方法

进到这里

逻辑如下

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

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

接下来走这个方法

这里是核心逻辑

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

以慢回复为例

核心是这个方法

逻辑如下

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

相关推荐
楼田莉子2 小时前
Docker学习:Docker介绍及其架构介绍
运维·后端·学习·docker·容器·架构
辰风沐阳2 小时前
ThinkPHP8.1 + think-swoole 4.1 使用指南(保姆级教程)
linux·后端·swoole
Gopher_HBo2 小时前
接入LVS+Nginx和服务发现
后端
萧邯嵌入式笔记3 小时前
一文吃透断言 assert
后端
Digital_Sunrise4 小时前
首发!检测你是否被中转站注入提示词攻击!
后端
fliter4 小时前
Rust 中的小字符串:smol_str 与 smartstring 的对决
后端
一个做软件开发的牛马4 小时前
Java 常用类:String不可变、新时间API与包装类陷阱
java·后端
刀法如飞4 小时前
AI时代:一文搞懂DDD领域驱动设计
后端·架构·ai编程
weixin_468466854 小时前
Prometheus监控服务部署与实战指南
服务器·后端·python·docker·自动化·prometheus