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

这篇具有很好参考价值的文章主要介绍了Sentinel源码分析-ProceesorSlotChain调用链及树状资源节点。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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

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

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

  • 统计数据的构建

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

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

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

Sentinel源码分析-ProceesorSlotChain调用链及树状资源节点文章来源地址https://www.toymoban.com/news/detail-486162.html

到了这里,关于Sentinel源码分析-ProceesorSlotChain调用链及树状资源节点的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 分布式定时任务系列8:XXL-job源码分析之远程调用

    分布式定时任务系列1:XXL-job安装 分布式定时任务系列2:XXL-job使用 分布式定时任务系列3:任务执行引擎设计 分布式定时任务系列4:任务执行引擎设计续 分布式定时任务系列5:XXL-job中blockingQueue的应用 分布式定时任务系列6:XXL-job触发日志过大引发的CPU告警 分布式定时任

    2024年01月21日
    浏览(51)
  • Postgresql源码(84)语义分析——函数调用结构CallStmt的构造与函数多态的实现(pl参数)

    相关 《Postgresql源码(78)plpgsql中调用call proc()时的参数传递和赋值(pl参数)》 《Postgresql源码(79)plpgsql中多层调用时参数传递关键点分析(pl参数)》 《Postgresql源码(84)语义分析——函数调用结构CallStmt的构造与函数多态的实现(pl参数)》 本文涉及模块: 语法分析 、

    2024年02月07日
    浏览(41)
  • SpringCloud入门(微服务调用 OpenFeign)——从RestTemplate到OpenFeign & OpenFeign的相关配置 & 源码的分析和请求流程拆解

    在之前的博客中,我们介绍了RestTemplate的使用,博客文章如下连接。但是在使用RestTemplate的时候,需要把生产者的路径拼出来,非常繁琐,另外参数的传递的也比较繁琐,解决方案就是使用openFeign。 SpringCloud入门(RestTemplate + Ribbon)——微服务调用的方式 RestTemplate的使用 使

    2024年04月11日
    浏览(38)
  • Sentinel 源码学习

    引入依赖 基本用法 接下来,阅读源码,我们从SphU.entry()开始  每个SphU#entry()将返回一个Entry。这个类维护了当前调用的一些信息: createTime :这个entry的创建时间,用于响应时间统计 current Node :在当前上下文中的资源的统计 origin Node :原始节点的统计 ResourceWrapper :资源名

    2024年02月20日
    浏览(31)
  • sentinel核心流程源码解析

    可以说,sentinel实现的各种功能就是由各处理槽完成的 ,ProcessorSlot定义了四个方法: 当进入该处理槽时触发该方法 处理完 entry方法之后触发该方法 退出该处理槽时触发该方法 exit方法处理完成时触发该方法  其中:FlowSlot是处理流控规则的处理槽,DegradeSlot是处理降级规则的

    2024年02月14日
    浏览(35)
  • 【源码分析】一个flink job的sql到底是如何执行的(一):flink sql底层是如何调用connector实现物理执行计划的

    我们以一条sql为例分析下flink sql与connector是如何配合执行的,本文我们先分析 sql-sqlnode-validate-operation:是如何找到对应的connector实例的 relnode-execGraph:是如何组装node为Graph,在哪找到connector实例的 之后的文章将会继续分析: translateToPlanInternal是如何串联connector其他方法的

    2024年01月16日
    浏览(45)
  • SpringCloud Alibaba - Sentinel 高级玩法,修改 Sentinel-dashboard 源码,实现 push 模式

    目录 一、规则持久化 1.1、什么是规则持久化 1.1.1、使用背景 1.1.2、规则管理的三种模式 a)原始模式 b)pull 模式 c)push 模式 1.2、实现 push 模式 1.2.1、修改 order-service 服务,使其监听 Nacos 配置中心 1.2.2、修改 Sentinel-dashboard 源码,配置 nacos 数据源 1.2.3、修改 Sentinel-dashboard

    2024年02月07日
    浏览(42)
  • 复制架构,Redis Sentinel分析

    存储高可用,一般采用复制架构,复制架构,需要关注故障架构和状态决策2个要点 复制格式 格式 优点 缺点 举例 命令 数据量小 可能存在数据不一致 Mysql 的statement同步方式,按commit顺序同步,可能存在数据不一致 Redis 的 AOF,每个操作室幂等的。 MongoDB的oplog ,oplog中每个操

    2024年02月06日
    浏览(83)
  • SpringCloud源码探析(九)- Sentinel概念及使用

    在微服务的依赖调用中,若被调用方出现故障,出于自我保护的目的,调用方会主动停止调用,并根据业务需要进行对应处理,这种方式叫做熔断,是微服务的一种保护方式。为了保证服务的高可用性,springcloud中有专门的流量管控组件,负责熔断、限流和降级。springcloud中较

    2024年02月13日
    浏览(32)
  • iptables五表五链及对应实例

    iptables是Linux系统上用于配置网络包过滤规则的工具,它使用表(tables)和链(chains)来组织规则。以下是iptables中的五表五链及其对应的实例说明: filter表 :默认表,用于过滤数据包,允许或拒绝数据包通过。它包含INPUT、OUTPUT和FORWARD三个链。 nat表 :用于网络地址转换(

    2024年03月09日
    浏览(39)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包