
sentinel源码原理分析
文章平均质量分 78
sentinel源码原理分析
1. dashboard和transport
2. 流控
3. 系统保护
。。。
中间件XL
这个作者很懒,什么都没留下…
展开
-
sentinel原理源码分析系列(八)-熔断
限流为了防止过度使用资源造成系统不稳,熔断是为了识别出”坏”资源,避免好的资源受牵连(雪崩效应),是保证系统稳定性的关键,也是资源有效使用的关键,sentinel熔断插槽名称Degrade(降级),本人觉得应该改为熔断,降级是熔断的补偿措施,因此本文使用"熔断"下图是熔断参与的类互动图,熔断做两件事:一,识别坏资源,设置断开状态;二,适时探测坏资源是否已好,恢复闭合状态上图是参与熔断的类互动图。原创 2024-10-20 11:52:03 · 1519 阅读 · 0 评论 -
sentinel原理源码分析系列(六)-统计指标
上图展示是一个StatisticNode内的情况,其他的node,clusterNode,DefaultNode都继承StatisticNode,圆形/方形/三角形代表着某类型指标(pass,block等)一次增加数,一段时间多个线程调用资源产生多个的指标增加数,如一个窗口时段内多个图形,时间窗口时段内增加指标数落入时间窗口内,即WindowWrap对象内,限流插槽调用metric获取该时间窗口内所有指标增加值(LongAdder表示),累加在一起。下面以请求通过数代码为例子。上图是统计指标的类互动图。原创 2024-10-18 20:58:53 · 570 阅读 · 0 评论 -
sentinel原理源码分析系列(七)-限流
限流的目的有两个,一,防止资源过度使用,造成系统不稳;二,大流量有序地通过上图是参与限流的类互动图,首先解释限流规则的设置限流依赖的统计指标,线程数/QPS,统计插槽介绍过,increaseThreadNum/addPassRequest是为了统计这两个指标流控行为决定处理大流量通过的方式,类图展示sentinel实现了多种流控行为,保证不超限依据调用关系限流构建调用链路设置不是单选题,同一个资源可有多个规则,但规则符合约束。原创 2024-10-17 17:53:18 · 1189 阅读 · 0 评论 -
sentinel原理源码分析系列(五)-构建调用链路
上节分析构建插槽链,Sentinel的资源调用好比一个个连续的检查口,能否通过,检查规则和统计指标,插槽链肩负检查的责任,本章开始分析插槽,首先分析构建调用链路的两个插槽。原创 2024-10-16 13:11:37 · 606 阅读 · 0 评论 -
sentinel原理源码分析系列(四)-Context&Entry
启动和初始化完成后,调用者调用受保护资源,触发sentinel的机制,首先构建或获取Context和获取Entry,然后进入插槽链,决定调用是否通过,怎样通过上图展示构建Context和获取Entry的类互动图。原创 2024-10-15 20:19:01 · 563 阅读 · 0 评论 -
sentinel dashboard分布式改造落地设计&实现解释(二)-分布式discovery组件
discovery负责维护app/机器资料库,transport健康检测, transport上下线处理。Discovery关键是分布式存储,后续研究一下raft,其复制,状态机,快照技术,但个人觉得,discovery功能只是作为目录,提供app/resource,支持搜索和规则更改,不需要太严谨和高效的技术保障。上图discovery涉及的znode,discovery监听transport的实例(item)的上下线,维护app/机器,删除对应分片。原创 2024-10-14 14:16:53 · 856 阅读 · 0 评论 -
sentinel dashboard改造落地设计&实现解释(一)-分布式fetcher和metrics存储/搜索
微服务是目前java主流架构,微服务架构技术栈有,服务注册中心,网关,熔断限流,服务同学,配置中心等组件,其中,熔断限流主要3个功能特性,限流,熔断,快速失败。Sentinel是阿里开源的熔断限流组件,sentinel dashboard是演示级别,表现在metrics采集是单机版,metrics存储存在内存,不支持分布式,高可用,因此需要改造。此前博文(),介绍分布式改造设计,本系列介绍落地的设计和实现解释。原创 2024-10-12 15:01:25 · 895 阅读 · 0 评论 -
sentinel原理源码分析系列(三)-启动和初始化
本文是sentinel原理源码分析系列第三篇,分析sentinel启动和初始化。原创 2024-09-28 15:23:07 · 594 阅读 · 0 评论 -
sentinel原理源码分析系列(二)-动态规则和transport
本文是sentinel原理源码分析系列第二篇,介绍两个组件,动态配置和transport。原创 2024-09-28 15:11:45 · 789 阅读 · 0 评论 -
sentinel原理源码分析系列(一)-总述
下图是sentinel的技术技术架构图sentinel技术架构没有比官方的原理图更清楚了,总体看,sentinel是责任链架构模式,分两部分,前部分是请求处理的拓扑构建和数据统计,后部分是规则+数据得出结论,是否放行资源(api/服务方法)调用。原创 2024-09-28 13:44:38 · 913 阅读 · 0 评论 -
sentinel dashboard分布式改造设计解释
1. 背景微服务是目前java主流架构,微服务架构技术栈有,服务注册中心,网关,熔断限流,服务同学,配置中心等组件,其中,熔断限流主要3个功能特性,限流,熔断,快速失败。熔断限流的sentinel dashboard是演示级别,表现在metrics采集是单机版,metrics存储存在内存,不支持分布式,高可用,因此需要改造2. 参考和术语限流 控制调入流量,防止流量过大造成系统崩溃熔断/快速失败断路有延迟的服务,防止雪崩效应;断路探测,恢复服务路由3. sentinel简介.原创 2022-03-19 17:04:06 · 1311 阅读 · 0 评论