计数器是一种最简单限流算法,其原理就是:在一段时间间隔内,对请求进行计数,与阀值进行比较判断是否需要限流,一旦到了时间临界点,将计数器清零。
这个就像你去坐车一样,车厢规定了多少个位置,满了就不让上车了,不然就是超载了,被交警叔叔抓到了就要罚款的,如果我们的系统那就不是罚款的事情了,可能直接崩掉了。
程序执行逻辑:
那么问题来了,如果有个需求对于某个接口 /query 每分钟最多允许访问 200 次,假设有个用户在第 59 秒的最后几毫秒瞬间发送 200 个请求,当 59 秒结束后 Counter 清零了,他在下一秒的时候又发送 200 个请求。
那么在 1 秒钟内这个用户发送了 2 倍的请求,这个是符合我们的设计逻辑的,这也是计数器方法的设计缺陷,系统可能会承受恶意用户的大量请求,甚至击穿系统。这种方法虽然简单,但也有个大问题就是没有很好的处理单位时间的边界。
女人是脆弱的,但是脆弱不代表无能,女人是容易受伤的,但是受伤不能一直沦陷。如果说男人是赐给女人受伤的毒药,那么女人自己就是解药。受伤的女人请记住,天空一直是湛蓝的,就看你们愿不愿抬起头;愿不愿释放,愿不愿寻找,愿不愿相信,幸福一直是有的。
当人经历过一段很深的感情伤痛时,注定有一段时间是非常痛苦的,通常你的痛苦会有以下3个反应。1.绝望绝望是人心理层面上的无助感。陷入绝望是因为之前,对特定的环境或特定的人所有的期待,过于自信。而当自己的自信倍受打击后,产生的一种消极反映。2.对周围的爱意无感这种状态又被称为“丧失爱的能力”,没错!这是