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

相关推荐
程序猿零零漆4 天前
SpringCloud系列教程:微服务的未来(十八)雪崩问题、服务保护方案、Sentinel快速入门
spring cloud·微服务·sentinel
Forest 森林4 天前
【微服务与分布式实践】探索 Sentinel
sentinel
LUCIAZZZ4 天前
SpringCloudGateWay和Sentinel结合做黑白名单来源控制
sentinel
kerwin_code6 天前
Sentinel 控制台集成 Nacos 实现规则配置双向同步和持久化存储(提供改造后源码)
java·sentinel
kerwin_code8 天前
SpringCloudAlibaba 服务保护 Sentinel 项目集成实践
java·sentinel
ChinaRainbowSea9 天前
10. SpringCloud Alibaba Sentinel 规则持久化部署详细剖析
java·spring·spring cloud·sentinel·负载均衡
等一场春雨9 天前
Alibaba Spring Cloud 十七 Sentinel熔断降级
spring·spring cloud·sentinel
kerwin_code11 天前
SpringCloud Gateway 集成 Sentinel 详解 及实现动态监听Nacos规则配置实时更新流控规则
spring cloud·gateway·sentinel
ps酷教程12 天前
sentinel微服务保护
微服务·架构·sentinel
Icoolkj12 天前
微服务学习-Sentinel 限流保护服务
学习·微服务·sentinel