Spring Cloud Alibaba Sentinel如何实现Slot机制?
- 内容介绍
- 文章标签
- 相关推荐
本文共计2874个文字,预计阅读时间需要12分钟。
在Sentinel中,每个资源都对应一个资源名称(resourceName)。每次资源调用都会创建一个Entry对象。Entry对象可通过主框架的配置自动创建,或通过注解方式或API调用创建。
slot概述
在 Sentinel 里面,所有的资源都对应一个资源名称(resourceName),每次资源调用都会创建一个 Entry 对象。Entry 可以通过对主流框架的适配自动创建,也可以通过注解的方式或调用 SphU API 显式创建。Entry 创建的时候,同时也会创建一系列功能插槽(slot chain),这些插槽有不同的职责,例如:
-
NodeSelectorSlot:负责收集资源的路径,并将这些资源的调用路径,以树状结构存储起来,用于根据调用路径来限流降级。
-
ClusterBuilderSlot:则用于存储资源的统计信息以及调用者信息,例如该资源的 RT、QPS、thread count 等等,这些信息将用作为多维度限流,降级的依据。
-
LogSlot:则用于记录用于记录块异常,为故障排除提供具体的日志。
-
StatisticSlot:则用于记录、统计不同纬度的 runtime 指标监控信息。
-
AuthoritySlot:则根据配置的黑白名单和调用来源信息,来做黑白名单控制。
-
SystemSlot:则通过系统的状态,例如 load1 等,来控制总的入口流量。
-
FlowSlot:则用于根据预设的限流规则以及前面 slot 统计的状态,来进行流量控制。
本文共计2874个文字,预计阅读时间需要12分钟。
在Sentinel中,每个资源都对应一个资源名称(resourceName)。每次资源调用都会创建一个Entry对象。Entry对象可通过主框架的配置自动创建,或通过注解方式或API调用创建。
slot概述
在 Sentinel 里面,所有的资源都对应一个资源名称(resourceName),每次资源调用都会创建一个 Entry 对象。Entry 可以通过对主流框架的适配自动创建,也可以通过注解的方式或调用 SphU API 显式创建。Entry 创建的时候,同时也会创建一系列功能插槽(slot chain),这些插槽有不同的职责,例如:
-
NodeSelectorSlot:负责收集资源的路径,并将这些资源的调用路径,以树状结构存储起来,用于根据调用路径来限流降级。
-
ClusterBuilderSlot:则用于存储资源的统计信息以及调用者信息,例如该资源的 RT、QPS、thread count 等等,这些信息将用作为多维度限流,降级的依据。
-
LogSlot:则用于记录用于记录块异常,为故障排除提供具体的日志。
-
StatisticSlot:则用于记录、统计不同纬度的 runtime 指标监控信息。
-
AuthoritySlot:则根据配置的黑白名单和调用来源信息,来做黑白名单控制。
-
SystemSlot:则通过系统的状态,例如 load1 等,来控制总的入口流量。
-
FlowSlot:则用于根据预设的限流规则以及前面 slot 统计的状态,来进行流量控制。

