sentinel
文章平均质量分 79
鲍倩和鲍新春
这个作者很懒,什么都没留下…
展开
-
sentinel中的QPS降级操作-DegradeSlot
sentinel通过在各种slot来实现不同的功能,其中的DegradeSlot就是根据各种规则来进降级操作,下面介绍一下DegradeSlot。DegradeSlot#entrypublic void entry(Context context, ResourceWrapper resourceWrapper, DefaultNode node, int count, boolean prioritized, Object... args) throws Throwable {原创 2021-07-25 23:18:19 · 352 阅读 · 0 评论 -
sentinel中的QPS流量控制-FlowSlot
sentinel通过在各种slot来实现不同的功能,其中的FlowSlot就是根据各种规则来进行流量限制的单元,下面介绍一些FlowSlot的实现原理。FlowSlot#entrypublic void entry(Context context, ResourceWrapper resourceWrapper, DefaultNode node, int count, boolean prioritized, Object... args) throws Th原创 2021-07-18 23:47:07 · 769 阅读 · 0 评论 -
sentinel中的NodeSelectorSlot执行流程
在上一篇文章(sentinel调用上下文(Context)数据结构分析)中,我们分析出sentinel通过函数Entry e = new CtEntry(resourceWrapper, chain, context);创建好了context,context的结构如下:当每次调用,SphU.entry("abc")时,都会创建一个新的Entry对象时,都会重新设置context的curEntry,并将context原来的curEntry设置为该新Entry对象的父节点。这样每个资源都是链表中原创 2021-07-11 00:03:01 · 254 阅读 · 0 评论 -
sentinel调用上下文(Context)数据结构分析
sentinel是一个轻量级高可用流量控制组件,使用sentinel来进行流量控制的简单demo如下:Entry entry = null;try { entry = SphU.entry("abc"); entry = SphU.entry("abc");} catch (BlockException e1) {} finally { if (entry != null) { entry.exit(); }}将字符串“abc”抽象成一个原创 2021-07-10 21:47:23 · 611 阅读 · 0 评论 -
sentinel基于滑动窗口实现实时指标统计原理
sentinel通过责任链模式,让每个slot来实现一种功能来实现流量控制、熔断降级等功能。其中,最重要的一个Slot非StatisticSlot莫属,它通过统计单位时间的调用数、成功数、失败数等,为流量控制、熔断降级等提供数据支撑,而StatisticSlot的底层是基于滑动窗口实现实时指标统计的,下面介绍一下StatisticSlot的工作过程一、StatisticSlot的入口 sentinel将多个slot串联起来,每个slot在处理完成后,将数据传递给下一个slot,这些slot都是...原创 2021-07-03 17:38:41 · 583 阅读 · 1 评论 -
sentinel工作原理及使用
sentinel是一个功能全面的、面向分布式服务架构的轻量级高可用流量控制组件,主要以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来帮助用户保护服务的稳定性。下面说一下它的工作原理及使用方法sentinel工作原理当sentinel作用在调用的接口上时,会将这个接口抽象成一种资源,调用方需要申请这种资源,使用的方法是SphU.entry(),如果能够申请成功,则说明没有被限流,否则会抛出BlockException,表面已经被限流了。从SphU.entry()方法...原创 2020-11-01 23:20:04 · 2201 阅读 · 0 评论