redis限流(redis限流器 时间窗口)

“古之欲明明德于天下者,先治其国;欲治其国者,先齐其家;欲齐其家者,先修其身;欲修其身者,先正其心;欲正其心者,先诚其意;欲诚其意者,先致其知,致知在格物。物格而后知至,知至而后意诚,意诚而后心正,心正而后身修,身修而后家齐,家齐而后国治,国治而后天下平。”–《礼记·大学》

在应对秒杀、大促、双 11、618 等高性能压力的场景时,限流已经成为了标配技术解决方案,为保证系统的平稳运行起到了关键性的作用。不管应用场景是哪种,限流无非就是针对超过预期的流量,通过预先设定的限流规则选择性的对某些请求进行限流“熔断”。

根据修身、齐家、治国平天下的理念,限流与熔断要先从小点着手,即先对单机进行限流与熔断,然后对微服务小集群做限流与熔断,最后是对整个流程的服务集群做限流与熔断。

1. 限流

1.1 单机限流(修身)

修其身

a>>限制并发量

import java.util.concurrent.ExecutorService;import java.util.concurrent.Executors;import java.util.concurrent.Semaphore;public class SemaphoreTest { private static final int THREAD_COUNT = 30; private static ExecutorService threadPool = Executors .newFixedThreadPool(THREAD_COUNT); private static Semaphore s = new Semaphore(10); public static void main(String[] args) { for (int i = 0; i < THREAD_COUNT; i++) { threadPool.execute(new Runnable() { @Override public void run() { try { s.acquire(); System.out.println(Thread.currentThread().getName()); Thread.sleep(5000); System.out.println(“————–“); s.release(); } catch (InterruptedException e) { } } }); } threadPool.shutdown(); }}

b>>计数器,以CountDownLatch为例

import java.util.concurrent.CountDownLatch;public class CountDownLatchTest2 { public static void main(String[] args) { // 创建计数器,初始化为2 final CountDownLatch latch = new CountDownLatch(2); new Thread(() -> { try { System.out.println(“子线程”+Thread.currentThread().getName()+”正在执行”); Thread.sleep(3000); System.out.println(“子线程”+Thread.currentThread().getName()+”执行完毕”); latch.countDown();// 减一 } catch (InterruptedException e) { e.printStackTrace(); } }).start(); new Thread(() -> { try { System.out.println(“子线程”+Thread.currentThread().getName()+”正在执行”); Thread.sleep(3000); System.out.println(“子线程”+Thread.currentThread().getName()+”执行完毕”); latch.countDown(); } catch (InterruptedException e) { e.printStackTrace(); } }).start(); try { System.out.println(“等待2个子线程执行完毕…”); // 阻塞 latch.await(); System.out.println(“2个子线程已经执行完毕”); System.out.println(“继续执行主线程”); } catch (InterruptedException e) { e.printStackTrace(); } }}

c>>guava RateLimiter

public void test(){ /** * 创建一个限流器,设置每秒放置的令牌数:2个。速率是每秒可以2个的消息。 * 返回的RateLimiter对象可以保证1秒内不会给超过2个令牌,并且是固定速率的放置。达到平滑输出的效果 */ RateLimiter r = RateLimiter.create(2); while (true) { /** * acquire()获取一个令牌,并且返回这个获取这个令牌所需要的时间。如果桶里没有令牌则等待,直到有令牌。 * acquire(N)可以获取多个令牌。 */ System.out.println(r.acquire()); }}

1.2 分布式限流(齐家)

齐其家

a>> nginx

limit_req_zone $binary_remote_addr zone=mylimit:10m rate=2r/s;server { location / { limit_req zone=mylimit; }}

b>>api-gateway+redis限流

1.3 大流程限流(治国平天下)

可以从防火墙,cdn,路由器,api网关等做限流

治国平天下

2. 熔断对比

熔断处理逻辑类似,可以利用一些现成的框架,如Sentinel、Hystrix、resilience4j等。

功能对比

熔断对比

参考文献:

【1】https://mp.weixin.qq.com/s?__biz=MjM5MDE0Mjc4MA==&mid=2651008444&idx=1&sn=a579c3ceb143ea30930bd4c6d4a8d7e2&chksm=bdbed5ef8ac95cf93e71c5393f08e3b97a7e19e8232ce3872231f2cae74f7a19ab15501aeb44&scene=27#wechat_redirect

【2】https://mp.weixin.qq.com/s?__biz=MzIwMzY1OTU1NQ==&mid=2247484306&idx=1&sn=b6c1b7b9d7c57bbb9f82ec451bcda867&chksm=96cd43dea1bacac8a24cde429146f69dba8bb15c5c9c3fe9adfe858d9a4349cc127fbfa84a8c&scene=27#wechat_redirect

【3】https://github.com/alibaba/Sentinel/wiki/Guideline:-%E4%BB%8E-Hystrix-%E8%BF%81%E7%A7%BB%E5%88%B0-Sentinel

本文来自投稿,不代表展天博客立场,如若转载,请注明出处:https://www.me900.com/265354.html

(0)

相关推荐

  • 英国国家自行车队获奖历史

    一般情况下我们对某个知识点的掌握,通常包括预习、听讲、掌握、练习、测试等环节。每个环节都有其特定要求,通过认真预习,完全自主掌握大部分的容易内容。通过认真听讲,在老师的帮助下再初步攻克少部分的重难点内容。下一个环节是掌握,也就是学生必须通过自主学习彻底学会这些知识点,检验标准是可以独立做对一类题,所以接下来需要反复练习巩固,也就是写作业,最后通过测试查漏补缺…

    2023-06-09
  • 内存条到底应该怎么插,内存条扩展插槽

    这里定义距离CPU近的内存插槽为“近端”,远的插槽为“远端”,如下图所示,4条插槽分别为A1、A2、B1、B2。A1和A2组成一个通道,B1和B2组成另一通道。   一、单条:单根内存为什么要插A2插槽? A1插槽: 在同一个通道内,如果只插在A1的插槽,空出的A2插槽会有信号反射,A2的信号又反射回A1,造成信号干扰,影响性能的发挥。 &nbsp…

    2023-06-28 投稿
  • 1000浏览量多少赞可以上热门?

    首先我们来看一下叠加推荐原理。当我们发布新视频的时候,抖音系统会给这个视频匹配一些冷启动流量。那么冷启动流量的大小,在我们上节课流量池中有详细讲解过。不懂的同学可以看一下上节课程,经过冷启动流量的筛选,如果视频数据反馈较好的话,会进入下一个更大的流量池,那么视频数据怎样算是比较好的,第一点赞率在百分之0.3以上,也就是说1000个播放量,有30个以上的点赞,…

    2023-02-18
  • 附近招聘小时工信息(附近找小时工作招聘信息)

    瑞幸兼职店员 ▷薪资:120元/天(月结) 企业名称:旌阳区小翊咖啡店 公司地址:瑞幸咖啡上美广场店,工农村店,绵竹店,希望城店 工作要求:(带薪培训时间超过一个月,且不招收寒、暑假工) (★★★兼职学习困难,无诚意者,请勿投递简历) 岗位职责∶ – 负责门店的饮品制作、外卖打包、门店清洁等工作 – 年龄1………

    投稿 2022-01-02
  • 火狐技术联盟(火狐技术联盟曾经的成员)

    日前,西安本土创业公司、网络安全综合解决方案服务商“四叶草”获得来自蚂蚁金服新一轮融资。“四叶草”之前曾获得由基石基金领投,鲁信创投、如山资本等跟投的6700万元A轮融资,以及2015年12月拿到3000万Pre-A融资。此次获得马云加持,对年轻的“四叶草”来说是一个里程碑。 成立六年来 四叶草已获三轮融资 “四叶草”,全称为西安四叶草信息技术有限公司,是一…

    2022-01-20 投稿
  • 张靓颖爱的含义如何去理解和感受

    张爱玲曾说:“爱一个人,会卑微到尘埃里,然后开出一朵花。”看了张靓颖的爱情经历,综妹儿信了这句话。 只是,小三传闻,母亲不理解、甚至撕到全国网友面前,这些隐藏的矛盾注定这段爱情不会长久。不到三年,二人传出分居传闻,更有人爆料说,二人其实根本就没领结婚证。有人说,她就那么恨嫁吗?但在综妹儿看来,不是怕嫁不出去,而是太爱了。 逼婚事件过后,张靓颖的妈妈在网上发文…

    投稿 2023-05-24
  • 淘宝卖家论坛,淘宝卖家中心登录入口

    《淘宝卖家论坛:深入探索与实用建议》 在淘宝卖家的世界里,淘宝卖家论坛就像是一个宝藏之地,蕴藏着无数的经验、技巧和智慧。 它是卖家们交流、分享和学习的重要平台,对于提升店铺的运营效果和销售业绩具有重要的作用。 今天,我们就一起来深入探索淘宝卖家论坛,看看它能为我们带来哪些帮助,以及我们应该如何更好地利用它。 一、论坛的价值与意义 淘宝卖家论坛作为一个集中了众…

    投稿 2025-05-23
  • 阿里巴巴淘宝,阿里巴巴和淘宝哪个质量可靠

    《阿里巴巴淘宝:电商巨头的崛起与影响》 一、阿里巴巴淘宝的诞生与发展历程 阿里巴巴淘宝可能是在互联网发展的浪潮中逐渐孕育而生的。 也许它的诞生源于创始人对于电子商务模式的独特洞察和大胆尝试。 在早期,电商领域或许还处于一片混沌之中,而淘宝就像是一颗悄然发芽的种子,开始在互联网的土壤中生根发芽。 随着时间的推移,淘宝不断进行着自我革新和拓展。 它从最初的一个小…

    投稿 2025-05-14
  • 流量卡和电话卡哪个划算(办电话卡流量卡划算不)

    中新经纬客户端10月31日(李晓萱 赵佳然) 现代人有些东西怎么都不够用,除了不知道为啥空了的钱包,越珍惜越掉的头发,还有不到月底就突然用完了的流量。 近几年经纬君一直经历着流量危机,不得不取消应用中的视频自动播放,设定每天流量限额,随时提防后台下载……不禁感叹有流量是放肆,没流量只能克制。 但与此同时,周围很多人流量多得都用不完,动辄一个月十多G,还有各种…

    2023-05-24 投稿
  • ati显卡驱动,怎么切换独立显卡

    对于游戏玩家和3D设计人员以及挖矿人员来说,显卡的选择无疑是重中之重,重要性可能甚至超过了核心硬件-CPU。我们在选购独立显卡的时候,通常小白只看显存大小,其实这是最大的选购误区,然而决定显卡的性能不仅仅是显存。那么用户如何选购台式电脑显卡?下面装机之家晓龙分享一下小白装机通俗易懂的独立显卡知识指南,希望对选购显卡的装机用户有所帮助。 小白装机通俗易懂的独立…

    2023-07-08 投稿
  • 移动纯流量卡不限速(中国移动私自扣费后的赔偿标准)

    众所周知,国内的三大运营商之一中国移动,凭借基站多、信号强等优势稳居运营商“一哥”的位置。这些年,中国移动在套餐资费上,一直被用户吐槽太贵,另外,那些10年不换号的五星级用户觉得并没有什么特殊待遇,所以有人就给中国移动扣上了“太小气”的帽子。 随着携号转网服务在全国正式开放,对于中国移动来说,携号转网可能对其的负面影响较大,因此在主观上不是携号转网政策的倡导…

    2023-06-12 投稿
  • 顺丰快递什么时候停运(2021年11月顺丰快递停运)

    每年临近春节,都有所谓“全国快递停运时间表”在网络流传。近日又有传言称,快递服务因部分区域疫情原因受影响,甚至影响春节快递服务。快递企业表示,春节不停运。 圆通速递客服:我们春节不打烊。 圆通快递的官网显示,2021年春节期间,圆通将时效保障服务范围扩大到全国209个城市,全国省会城市全覆盖。 申通快递在官网发布了2021“过年不打烊”公告。据公告,申通在2…

    2021-12-04