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

相关推荐
YOU OU4 小时前
Redis哨兵 & 集群
数据库·redis·sentinel
遥感知识服务12 天前
Sentinel-1 + DEM + FwDET + 随机森林:从快速水深初估到多因子误差修正
算法·随机森林·sentinel
吴声子夜歌13 天前
Redis 3.x——哨兵API
redis·sentinel
振宇i14 天前
Sentinel Dashboard 1.8.9 部署+Systemd 托管完整操作文档
sentinel·cloudalibaba
数聚天成DeepSData14 天前
企业知识库 RAG 数据准备与文档清洗:Dify、RAGFlow、扣子选型指南
开发语言·人工智能·机器学习·自然语言处理·sentinel·cocos2d
ironren15 天前
【Sentinel 熔断降级实战】从踩坑到优雅降级的完整记录
sentinel
LiaoWL12317 天前
【SpringCloud合集-04】Sentinel 流量控制与熔断降级 学习笔记
学习·spring cloud·sentinel
Wyc724092 个月前
Sentinel
sentinel
IT策士2 个月前
Redis 从入门到精通:Redis Sentinel 哨兵
数据库·redis·sentinel
一个儒雅随和的男子2 个月前
sentinel底层原理剖析以及实战优化
java·网络·sentinel