当前位置: 首页 > news >正文

Sentinel源码分析-ProceesorSlotChain调用链及树状资源节点

Sentinel 实现流控,隔离,降级等功能,本质要做两件事:

  • 数据统计: 统计某个资源的访问数据(QPS,RT(响应时间),异常比例)等信息
  • 规则判断: 判断流控规则,隔离规则,降级规则是否满足。

ProcessorSlotChian 实现上述功能的骨架,这个类是基于责任链模式设计,将不同功能(限流,降级,系统保护)封装为一个个的Slot,请求进入后逐个执行
责任链中Solt 也分为两大类

  • 统计数据的构建

    • NodeSelectorSlot
      负责构建节点链路中的节点(DefualNode),将这些节点形成链路树
    • ClusterBuilderSlot
      负责构建某个资源的clusterNode,ClusterNode 可以保存资源的运行信息(响应时间,QPS,block数目,异常数)
    • staticSlot
      负责统计实时调用数据,包括运行信息,来源信息等
  • 规则判断部分

    • FlowSlot 则用于根据预设的限流规则,来进行流量控制;
    • AuthoritySlot 则根据配置的黑白名单和调用来源信息,来做黑白名单控制;
  • -DegradeSlot 则通过统计信息以及预设的规则,来做熔断降级;

    • SystemSlot 则通过系统的状态,例如 load1 等,来控制总的入口流量;

在这里插入图片描述

http://www.lryc.cn/news/93671.html

相关文章:

  • springboot 连接 kafka集群(kafka版本 2.13-3.4.0)
  • Nacos配置中心使用(Spring Cloud版)
  • STM32F407硬件I2C实现MPU6050通讯(CUBEIDE)
  • HTML5 语义元素(一)页面结构
  • 嵌套滚动实践:onInterceptTouchEvent与NestedScrolling【实用为准】
  • Redis入门 - 5种基本数据类型
  • mybatis-plus用法(一)
  • 源码安装包管理
  • Vue|获取表单数据
  • 微信小程序入门学习02-TDesign中的自定义组件
  • 【linux kernel】linux media子系统分析之media控制器设备
  • Scala--03
  • 【MongoDB】--MongoDB高级功能
  • C# new与malloc
  • 微软MFC技术简明介绍
  • 汽车电子Autosar之车载以太网
  • MSP430_C语言例程注释详
  • Vb+access库存管理系统(论文+开题报告+源代码+目录)
  • Java 数组
  • CSDN 编程竞赛五十八期题解
  • Unity入门6——光源组件
  • C语言之动态内存分配(1)
  • AIGC新时代,注意政策走向,产业方向,拥抱可信AI。需要了解基本理论,基础模型,前沿进展,产品应用,以及小小的项目复现
  • 如何白嫖一年CSDN会员?618活动!亲测有效!!!
  • 微服务: 00-rabbitmq出现的异常以及解决方案
  • Vue3与Vue2比较
  • 如何对待工作中的失误?
  • 使用css3如何实现一个文字打印效果
  • 【雕爷学编程】Arduino动手做(115)---HB100多普勒雷达模块
  • 深度学习笔记之Transformer(一)注意力机制基本介绍