Sentinel
阿里巴巴服务熔断限流组件Sentinel 源码分析
普通网友
这个作者很懒,什么都没留下…
展开
-
Alibaba Sentinel 源码分析(8) AuthoritySlot 鉴权分析
1.检查白名单2.根据资源的name获取白名单规则3.然后根据规则检查app应用能否passCheck,通过检查;细节如下图原创 2020-05-03 23:16:15 · 158 阅读 · 0 评论 -
Alibaba Sentinel 源码分析(7) StatisticSlot 实时数据采集分析
1.做一些检查,fireEntry,先执行其他的处理器逻辑,执行完成后收集统计信息2.node累加线程数threadNum;累加通过的request数量3. 全局统计累加,更新入站全局流量4.处理通过的event,使用注册的entry回调处理handler5.如果处理异常,则增加异常的数量统计对于exit方法1.计算响应时间,记录响应时间和成功的次数count...原创 2020-05-03 23:09:17 · 418 阅读 · 0 评论 -
Alibaba Sentinel 源码分析(6) NodeSelectorSlot 分析
NodeSelectorSlot 是第一进入的插槽slot插槽NodeSelector的作用,尝试构造调用链;作用是创造一个节点nodeA创造出一个集群节点ClusterNode两个上下文同时创建出nodeA,但是只会创建出一个nodeA结点1.从缓存map中获取node,如果node为null2.就使用synchronized同步,再次获取,还为空;就创建默...原创 2020-05-03 22:49:29 · 495 阅读 · 0 评论 -
Alibaba Sentinel 源码分析(5) 原理分析, dashboard规则配置
pull 模式规则持久化原理那我们有什么办法能解决这个问题呢,其实很简单,那就是把原本保存在 RuleManager 内存中的规则,持久化一份副本出去。这样下次客户端重启后,可以从持久化的副本中把数据 load 进内存中,这样就不会丢失规则了,如下图所示:目前 Sentinel 中默认实现了5种规则持久化的方式,分别是:file、redis、nacos、zk和a...原创 2020-01-27 18:16:35 · 312 阅读 · 0 评论 -
Alibaba Sentinel 源码分析(4) core 核心功能 降级
还是先来看ExceptionRatioDegradeDemo1.启动tick 启动线程timer进行计时2.初始化规则rule,设置异常比例0.13.调用SphU.entry4.还是获取slot的chain5.checkDegrade,判断该请求是否需要降级6.先获取降级的规则degradeRule,如果获取为null,直接return返回;循环每个降级的r...原创 2020-01-27 17:44:50 · 175 阅读 · 0 评论 -
Alibaba Sentinel 源码分析(3) core 核心功能 限流(二)
限流策略分析基于调用关系的流量控制,也有三种情况可以选择:STRATEGY_DIRECT根据调用方进行限流。ContextUtil.enter(resourceName, origin) 方法中的 origin 参数标明了调用方的身份。如果 strategy 选择了DIRECT ,则还需要根据限流规则中的 limitApp 字段根据调用方在不同的场景中进行流量控制,包括有:”所有调用...原创 2020-01-27 16:23:35 · 247 阅读 · 0 评论 -
Alibaba Sentinel 源码分析(2) core 核心功能 限流(一)
先来看下和Hystrix的对比从一个基本的demo 看起FlowQpsDemo, 直接看程序入口main1.初始化流量统计的规则 rule2.计时 tick() 方法3.模拟流量,调用simulateTraffic可以看到,Sentinel 核心功能,都是依赖于降级,限流的各种规则。都定义在slots目录下,分为鉴权authority,降级degrade和...原创 2020-01-26 21:58:29 · 808 阅读 · 0 评论 -
Alibaba Sentinel 源码分析(1) 代码结构概述 && 基本工作流程
总共代码872个java文件,代码总行数83596下面看一下各个子工程的功能1.sentinel-adapter : 对各种框架,中间件的支持。包括dubbo,网关gateway,grpc,reactor,spring-cloud-gateway webflux,webmvc,servlet和zuul2.senti...原创 2020-01-26 18:50:15 · 386 阅读 · 0 评论