摘要:
原理 令牌桶(Token Bucket)限流算法,系统会以一个恒定的速度往桶里放入令牌,请求在处理前需要先从桶里获取一个令牌。如果桶里没有令牌可取,则拒绝服务。 代码实现 热点参数限流是基于令牌桶算法实现的。 这个模式的难点在于,如何一边往令牌桶投放令牌,一边获取令牌。一般会想到使用两个线程,但Se 阅读全文
摘要:
1. 滑动窗口 原理 滑动窗口限流算法(Sliding Window)是对固定窗口算法的一个改进。在滑动窗口算法中,窗口大小仍然是固定的,但它把单位时间周期划分为n个小周期,分别记录每个小周期内请求的数量,根据时间滑动删除过期的小周期。 需要注意的是,当请求到达新的周期,才会往前滑动,也就是说滑动是 阅读全文
摘要:
本文基于Sentinel 1.8.6版本分析 1. SlotChain 我们从入口com.alibaba.csp.sentinel.SphU#entry(java.lang.String) 开始分析。 一路走读下来,会进入到这个方法com.alibaba.csp.sentinel.CtSph#loo 阅读全文
摘要:
关于Sentinel的介绍网上很多,不再复制粘贴。 本文主要演示Sentinel的两个重点功能:流量控制和熔断降级。 示例基于Sentinel 1.8.6, 同时使用JMeter进行并发请求(Postman无法并发)。当然也可以通过main方法,但这样就无法重复触发,并且无法学习Sentinel与S 阅读全文