sentinel原理源码分析系列(三)-启动和初始化

本文是sentinel原理源码分析系列第三篇,分析sentinel启动和初始化

启动/初始化

sentinel初始化分两块,静态初始和适配器(包括aop)

静态初始

1. Root EntranceNode

如果我们用一栋楼类比资源调用,root EntranceNode好比一栋楼的大门,资源调用链路node是大楼里的一个个单元,EntranceNode在大楼大门设置了计数器,统计所有资源调用链出入。

上图是Constants的初始化,ROOT用于查询,作为固定存在的节点,聚合子节点,即调用链路的node

另外,还有个EntranceNode,独立的节点,用于SystemSlot,支持系统全局的保护

2. ContextUtils

Context是当次调用上下文,这里新增EntranceNode代表调用入口,设置为root的子节点

3. 组件初始化

组件初始化在Evn的静态块执行,使用spi机制,载入InitFun实例,调用init方法初始化,包括transport(CommandCenterInitFunc), metrics, 改造dashboard的分布式组件使用该机制初始化

4. 适配器

sentinel提供大量的适配器,覆盖常用的技术组件,适配器发起sentinel启动,本章以aop为示例分析启动过程

SentinelResourceAspect拦截标注@SentinelResource的资源,置入sentinel的拦截逻辑代码

收集标注属性,entry进入调用资源,调用资源参看++5.4++ ++调用资源++

NEXT Context&Entry

相关推荐
廋到被风吹走5 天前
稳定性保障:限流降级深度解析 —— Sentinel滑动窗口算法与令牌桶实现
运维·算法·sentinel
笨蛋不要掉眼泪9 天前
Sentinel 热点参数限流实战:精准控制秒杀接口的流量洪峰
java·前端·分布式·spring·sentinel
笨蛋不要掉眼泪10 天前
Sentinel 流控规则详解:三种模式与三种效果实战指南
java·jvm·数据库·后端·sentinel
Jinkxs11 天前
Sentinel - 在 Dubbo 微服务中使用:Alibaba 生态无缝集成
微服务·sentinel·dubbo
笨蛋不要掉眼泪11 天前
Spring Cloud Alibaba Sentinel 从入门到实战:微服务稳定性的守护者
分布式·微服务·云原生·架构·sentinel
tod11311 天前
Redis Sentinel 高可用架构:从原理到 Docker 部署全解析
数据库·redis·docker·架构·sentinel
递归尽头是星辰13 天前
Sentinel + Spring Cloud Gateway 联动限流实战
系统架构·sentinel·限流·微服务治理·限流架构设计
万象.13 天前
redis哨兵sentinel的部署及作用
redis·sentinel
七夜zippoe14 天前
分布式系统弹性设计实战:Hystrix与Sentinel熔断降级深度解析
java·hystrix·sentinel·aws·分布式系统
程序员敲代码吗15 天前
微服务熔断降级配置详解与实践:使用Sentinel和Nacos
java·微服务·sentinel