区块链技术博客
www.b2bchain.cn

总体设计解读求职学习资料

本文介绍了总体设计解读求职学习资料,有助于帮助完成毕业设计以及求职,是一篇很好的资料。

对技术面试,学习经验等有一些体会,在此分享。

总体设计

[TOC]

背景

每个系统都有自己的负载能力上限,当访问超过这个能力上限的时候,系统就会变得不稳定,甚至无法正常响应。因此,无论是对外请求还是对内的请求,都存在着流量控制的需要。防止自身被外部流量冲垮,防止自身外部请求过多压垮外部系统。Sentinel 就是这样的一个负责流量控制的组件。

流量控制是一个大的概念,从流量控制的角度出发,会有不同的场景,包括但不限于限流,流量整形、熔断降级等。

重点概念

在介绍 Sentinel 的实现思路前,先需要了解 Sentinel 中几个重要的概念定义,分别是资源、条目、节点。Sentinel 的流量控制就是在这几个概念上执行。

资源

资源是一个抽象的指代,所有需要被限流保护的内容都可以看成是资源。从代码的角度来说,资源可以看成是某一段可以执行的代码。比方说需要用限流来保护一个下游服务提供者暴露的 Http 的接口。那么可以将这个接口看成是资源,也可以将调用这个接口本身的一部分代码看成是资源,都是可以的,效果也都是相同的。

在 Sentinel 中,资源是使用ResourceWrapper类来表示,其核心属性如下

protected final String name; protected final EntryType entryType; protected final int resourceType;

分别是资源的名称,该资源的访问方向,该资源的类型。

名称不用解释,资源类型就是用户自行定义的整型变量,方便在需要的时候进行识别。

资源的访问方向是一个枚举类型,有两个取值:

  • IN ,入站流量。
  • OUT,出站流量。

入站流量,代表着从外部发起的对内部的访问;出站流量,代表着是从本地发起的,对外部或内部的访问。

条目

条目,即Entry,代表着具体一次对某个资源的访问。其持有的属性如下

private final long createTimestamp; private long completeTimestamp; private Node curNode; private Throwable error; private BlockException blockError; protected final ResourceWrapper resourceWrapper;

构造方法中完成了createTimestamp创建时间和resourceWrapper资源描述的初始化。

如果资源访问被限流了,则blockError会被设置值。如果发生了业务异常,则error会被设置值。

curNode属性,是该资源对应的统计节点指向。该属性会在处理链条NodeSelectorSlot槽位中被设置。

节点

节点,即Node,功能是持有某个资源的访问统计信息。来看下类图

<img src=”https://markdownpic-1251577930.cos.ap-chengdu.myqcloud.com/20200929203455.png” style=”zoom:33%;” />

总体设计

[TOC]

背景

每个系统都有自己的负载能力上限,当访问超过这个能力上限的时候,系统就会变得不稳定,甚至无法正常响应。因此,无论是对外请求还是对内的请求,都存在着流量控制的需要。防止自身被外部流量冲垮,防止自身外部请求过多压垮外部系统。Sentinel 就是这样的一个负责流量控制的组件。

流量控制是一个大的概念,从流量控制的角度出发,会有不同的场景,包括但不限于限流,流量整形、熔断降级等。

重点概念

在介绍 Sentinel 的实现思路前,先需要了解 Sentinel 中几个重要的概念定义,分别是资源、条目、节点。Sentinel 的流量控制就是在这几个概念上执行。

资源

资源是一个抽象的指代,所有需要被限流保护的内容都可以看成是资源。从代码的角度来说,资源可以看成是某一段可以执行的代码。比方说需要用限流来保护一个下游服务提供者暴露的 Http 的接口。那么可以将这个接口看成是资源,也可以将调用这个接口本身的一部分代码看成是资源,都是可以的,效果也都是相同的。

在 Sentinel 中,资源是使用ResourceWrapper类来表示,其核心属性如下

protected final String name; protected final EntryType entryType; protected final int resourceType;

分别是资源的名称,该资源的访问方向,该资源的类型。

名称不用解释,资源类型就是用户自行定义的整型变量,方便在需要的时候进行识别。

资源的访问方向是一个枚举类型,有两个取值:

  • IN ,入站流量。
  • OUT,出站流量。

入站流量,代表着从外部发起的对内部的访问;出站流量,代表着是从本地发起的,对外部或内部的访问。

条目

条目,即Entry,代表着具体一次对某个资源的访问。其持有的属性如下

private final long createTimestamp; private long completeTimestamp; private Node curNode; private Throwable error; private BlockException blockError; protected final ResourceWrapper resourceWrapper;

构造方法中完成了createTimestamp创建时间和resourceWrapper资源描述的初始化。

如果资源访问被限流了,则blockError会被设置值。如果发生了业务异常,则error会被设置值。

curNode属性,是该资源对应的统计节点指向。该属性会在处理链条NodeSelectorSlot槽位中被设置。

节点

节点,即Node,功能是持有某个资源的访问统计信息。来看下类图

<img src=”https://markdownpic-1251577930.cos.ap-chengdu.myqcloud.com/20200929203455.png” style=”zoom:33%;” />

总体设计

[TOC]

背景

每个系统都有自己的负载能力上限,当访问超过这个能力上限的时候,系统就会变得不稳定,甚至无法正常响应。因此,无论是对外请求还是对内的请求,都存在着流量控制的需要。防止自身被外部流量冲垮,防止自身外部请求过多压垮外部系统。Sentinel 就是这样的一个负责流量控制的组件。

流量控制是一个大的概念,从流量控制的角度出发,会有不同的场景,包括但不限于限流,流量整形、熔断降级等。

重点概念

在介绍 Sentinel 的实现思路前,先需要了解 Sentinel 中几个重要的概念定义,分别是资源、条目、节点。Sentinel 的流量控制就是在这几个概念上执行。

资源

资源是一个抽象的指代,所有需要被限流保护的内容都可以看成是资源。从代码的角度来说,资源可以看成是某一段可以执行的代码。比方说需要用限流来保护一个下游服务提供者暴露的 Http 的接口。那么可以将这个接口看成是资源,也可以将调用这个接口本身的一部分代码看成是资源,都是可以的,效果也都是相同的。

在 Sentinel 中,资源是使用ResourceWrapper类来表示,其核心属性如下

protected final String name; protected final EntryType entryType; protected final int resourceType;

分别是资源的名称,该资源的访问方向,该资源的类型。

名称不用解释,资源类型就是用户自行定义的整型变量,方便在需要的时候进行识别。

资源的访问方向是一个枚举类型,有两个取值:

  • IN ,入站流量。
  • OUT,出站流量。

入站流量,代表着从外部发起的对内部的访问;出站流量,代表着是从本地发起的,对外部或内部的访问。

条目

条目,即Entry,代表着具体一次对某个资源的访问。其持有的属性如下

private final long createTimestamp; private long completeTimestamp; private Node curNode; private Throwable error; private BlockException blockError; protected final ResourceWrapper resourceWrapper;

构造方法中完成了createTimestamp创建时间和resourceWrapper资源描述的初始化。

如果资源访问被限流了,则blockError会被设置值。如果发生了业务异常,则error会被设置值。

curNode属性,是该资源对应的统计节点指向。该属性会在处理链条NodeSelectorSlot槽位中被设置。

节点

节点,即Node,功能是持有某个资源的访问统计信息。来看下类图

<img src=”https://markdownpic-1251577930.cos.ap-chengdu.myqcloud.com/20200929203455.png” style=”zoom:33%;” />

部分转自互联网,侵权删除联系

赞(0) 打赏
部分文章转自网络,侵权联系删除b2bchain区块链学习技术社区 » 总体设计解读求职学习资料
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

b2b链

联系我们联系我们