Sentinel基本概念

Sentinel是阿里开源的一款高性能的限流框架。这里将对Sentinel的使用和实现进行介绍。

这里先介绍下Sentinel中涉及到的基本概念,包括使用上或者实现上。主要是笔者在阅读文档和源码时经常会接触到的对象。

Resource
 资源是整个Sentinel最基本的一个概念。可以是一段代码,一个http请求,一个微服务,总而言之,他是Sentinel需要保证的实体。大部分情况下,我们可以使用方法签名,URL或者是服务名称来作为资源的名称。它在Sentinel中的体现是:ResourceWrapper,他有两个子类:

StringResourceWrapper 使用string来标识一个资源

MethodResouceWrapper 使用一个函数签名来标识一个资源

Node
 节点是用来存储统计数据的基本数据单元,Node本身只是一个接口,它有多个实现:

StatisticNode 唯一的直接实现类,实现了流量统计的基本方法,在StatisticSlot中使用

ClusterNode 继承自StatisticNode,对于某一个资源的全局统计

DefaultNode 继承自StatisticNode,对于某一个资源在相应上下文中的实现,保存了一个指向ClusterNode的引用。另外还保存了子节点列表,当在同一个context下多次调用SphU.entry不同资源时会创建子节点

EntranceNode 继承自DefaultNode,代表一个调用的根节点,一个Context会对应到一个EntranceNode

Context
 上下文是用来保存当前调用的元数据,存储在ThreadLocal中,它包含了几个信息:

Ent

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值