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

相关推荐
yzp-5 小时前
Sentinel 执行流程
sentinel
停水咋洗澡1 天前
Redis Sentinel高可用实战:主从自动故障转移
java·redis·sentinel
鬼先生_sir2 天前
SpringCloud-Sentinel(熔断降级 & 流量控制)
spring·spring cloud·sentinel
会飞的大可9 天前
Redis Sentinel 高可用方案在WMS仓储管理系统的应用
redis·sentinel
zs宝来了10 天前
Redis 哨兵机制:Sentinel 原理与高可用实现
redis·sentinel·高可用·源码解析·哨兵
梵得儿SHI10 天前
SpringCloud 秒杀系统生产级落地:Sentinel+Redis 联合优化,从限流防刷到库存闭环,彻底解决超卖 / 宕机 / 恶意刷
redis·spring cloud·sentinel·分布式限流·百万级·瞬时高并发·产级秒杀系统解决方案
8Qi812 天前
Redis哨兵模式(Sentinel)深度解析
java·数据库·redis·分布式·缓存·sentinel
无名-CODING12 天前
Java 爬虫零基础入门:从 HTTP 到 Jsoup 实战
spring cloud·gateway·sentinel
会飞的大可13 天前
Spring Cloud Alibaba全景:Nacos、Sentinel、Seata整合实战
sentinel·wpf
无名-CODING13 天前
SpringCloud 网关与熔断:Gateway + Sentinel 快速入门
spring cloud·gateway·sentinel