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

宁波网站建设费用报价网站策划书包括哪些内容

宁波网站建设费用报价,网站策划书包括哪些内容,上海黄浦 网站建设,设计网站企业网站建设公司基本介绍 Sentinel中的簇点链路是由一个个的Node组成的,Node是一个接口。Node中保存了对资源的实时数据的统计,Sentinel中的限流或者降级等功能就是通过Node中的数据进行判断的。 Sentinel中是这样描述Node的: Holds real-time statistics…

基本介绍

Sentinel中的簇点链路是由一个个的Node组成的,Node是一个接口。Node中保存了对资源的实时数据的统计,Sentinel中的限流或者降级等功能就是通过Node中的数据进行判断的。

Sentinel中是这样描述Node的:

Holds real-time statistics for resources.

保存资源的实时统计信息。 

Node继承结构体系图: 

所有的节点都可以记录对资源的访问统计数据,所以都是StatisticNode的子类。

按照作用分为两类Node:

  • DefaultNode:代表链路树中的每一个资源,一个资源出现在不同链路中时,会创建不同的DefaultNode节点。而树的入口节点叫EntranceNode,是一种特殊的DefaultNode

  • ClusterNode:代表资源,一个资源不管出现在多少链路中,只会有一个ClusterNode。记录的是当前资源被访问的所有统计数据之和。

DefaultNode记录的是资源在当前链路中的访问数据,用来实现基于链路模式的限流规则。

ClusterNode记录的是资源在所有链路中的访问数据,实现默认模式、关联模式的限流规则。

链路模式:只针对从指定链路访问到本资源的请求做统计,判断是否超过阈值。 

 StatisticNode

StatisticNode实现了Node接口,其他的Node都继承了该接口。所以这个Node是一个最基础的Node,StatisticNode中保存了资源的实时统计数据(基于滑动时间窗口机制),通过这些统计数据,sentinel才能进行限流、降级等一系列操作。StatisticNode属性如下:

public class StatisticNode implements Node {/*** 秒级的滑动时间窗口(时间窗口单位500ms)*/private transient volatile Metric rollingCounterInSecond = new ArrayMetric(SampleCountProperty.SAMPLE_COUNT,IntervalProperty.INTERVAL);/*** 分钟级的滑动时间窗口(时间窗口单位1s)*/private transient Metric rollingCounterInMinute = new ArrayMetric(60, 60 * 1000, false);/*** The counter for thread count. * 线程个数用户触发线程数流控*/private LongAdder curThreadNum = new LongAdder();
}
public class ArrayMetric implements Metric {private final LeapArray<MetricBucket> data;
}
public class MetricBucket {
// 保存统计值private final LongAdder[] counters;
// 最小rtprivate volatile long minRt;
}

 在Sentinel中单独使用StatisticNode来作为统计节点的地方是统计来源节点相关的指标的时候,来源节点创建则是在ClusterBuilderSlot中。

DefaultNode 

DefaultNode 由俩个类EntranceNode跟DefaultNode继承

  • EntranceNode:该类的创建是在初始化Context时完成的(ContextUtil.trueEnter方法),注意该类是针对Context维度的,也就是一个context有且仅有一个EntranceNode。
  • DefaultNode:该类的创建是在NodeSelectorSlot.entry完成的,当不存在context.name对应的DefaultNode时会新建(new DefaultNode(resourceWrapper, null),对应resouce)并保存到本地缓存(NodeSelectorSlot中private volatile Map<String, DefaultNode> map);获取到context.name对应的DefaultNode后会将该DefaultNode设置到当前context的curEntry.curNode属性,也就是说,在NodeSelectorSlot中是一个context有且仅有一个DefaultNode。

DefaultNode结构如下:

public class DefaultNode extends StatisticNode {private ResourceWrapper id;/*** The list of all child nodes.* 子节点集合*/private volatile Set<Node> childList = new HashSet<>();/*** Associated cluster node.*/private ClusterNode clusterNode;
}

 DefaultNode持有指定的Context和指定的Resource的统计数据,意味着DefaultNode是以Context和Resource为维度的统计节点。这一点非常的重要,因为如果想对某个Context中某个Resource的进行限流等操作,就需要使用DefaultNode类型的节点来统计数据。源码中还描述到,多次在同一个上下文中获取资源,会产生一些子节点,这些子节点保存在DefaultNode的childList中。

EntranceNode代表调用链的入口节点,持有某个Context中调用的信息,同一个Context共享一个EntranceNode。EntranceNode的统计维度为Context。需要注意的是EntranceNode继承了DefaultNode。 

ClusterNode 

ClusterNode保存的是同一个Resource的相关的统计信息,是以Resource为维度的,不区分Context,这个是和DefaultNode的区别。

ClusterNode:簇点,用于统计每个资源全局的数据(不区分调用链路),以及存放该资源的按来源区分的调用数据(类型为 StatisticNode)。特别地,Constants.ENTRY_NODE 节点用于统计全局的入口资源数据。

http://www.yayakq.cn/news/922183/

相关文章:

  • 空包网站怎么建设衡阳网站搜索引擎优化
  • 10个免费网站win10 中国建设银行网站
  • 海南映客交友软件seo网站营销推广全...
  • 东莞网站建设哪家专业做外贸的有些什么网站
  • 大兴营销型网站建设建网站要什么工做人员
  • 怎么建立局域网网站网站优化要怎么做才会做到最佳
  • 如何快速使用模版做网站教研室网站建设
  • 网站整站源码下载网站的功能需求
  • 广州软件开发杰迅科技潍坊百度seo公司
  • 黄村做网站哪家好wordpress 登入页面
  • 网站建设大作业选题桦甸网站开发定制
  • 长春网站制作最专业app开发公司平台
  • 专业搜索引擎seo公司seo 适合哪些行业
  • 自己做视频网站怎么处理高并发网站后台帐号
  • 零基础网站建设电子商务网站建设与安全
  • html5医院网站网站建设合作协议文本
  • 制作商城网站公司做 爱 网站视频短片
  • 做网站如何推广网站建设源文件
  • 怎么知道网站有没有备案余姚公司做网站
  • 网站开发的公司排名湖南网站营销seo哪家好
  • 网站优化的关键词十大软件app排行榜下载
  • 韩城市网站建设宝安网站建设zrare
  • php程序员做企业网站wordpress 文章首标点
  • 开发网站的目标wordpress 新页面打开
  • 微网站建设网站东莞保安公司
  • 个人音乐网站模板网站用户管理体系
  • 青岛微信网站制作ppt模板大师
  • 非官方网站建设wordpress主题h5
  • 西部数码做跳转网站如何 攻击网站
  • 东莞免费做网站软件开发技术培训中心