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 天前
守卫系统的最后一道防线:深入 Sentinel 限流降级与熔断机制(对比 Hystrix)
java·hystrix·sentinel
weixin_439706254 天前
spring boot+nacos+gateway+sentinel的简单例子
spring boot·gateway·sentinel
墨白曦煜6 天前
微服务容错设计:Sentinel 全局异常处理与 Feign 降级策略的边界权衡
微服务·架构·sentinel
没有bug.的程序员6 天前
Spring Cloud Gateway 架构与执行流程:从原理到性能优化的深度探索
微服务·云原生·eureka·性能优化·架构·sentinel·服务发现
杜子不疼.6 天前
Spring Cloud 微服务实战:Nacos+Sentinel+Gateway 核心组件详解
spring cloud·微服务·sentinel
enjoy编程8 天前
Spring Boot 4 如何使用Sentinel进行限流-II【基于Sentinel Spring MVC Adapter实现】
spring boot·spring·sentinel·服务限流·webmvc·servlet 6.x
没有bug.的程序员8 天前
Sentinel 流控原理深度解析:构建高可用微服务的底层架构
java·算法·微服务·云原生·架构·sentinel·负载均衡
代码的奴隶(艾伦·耶格尔)9 天前
Sentinel限流熔断
java·前端·sentinel
东东的脑洞9 天前
【面试突击】Redis 哨兵(Sentinel)完全指南:从原理到实战
redis·面试·sentinel
enjoy编程9 天前
Spring Boot 4 如何使用Sentinel进行限流?
spring boot·sentinel·限流·熔断降级·流量控制·服务限流·系统负载保护