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)

相关推荐

  • 游戏赚钱方法(打游戏如何赚钱)

    游戏赚钱方法(打游戏如何赚钱)游戏赚钱方法(打游戏如何赚钱)游戏赚钱方法(打游戏如何赚钱)游戏赚钱方法(打游戏如何赚钱)

    随着生活质量的提高,几乎每个人都有一个或者多个智能手机,拿着手机除了聊天发消息打电话之外,也有很多人开始接触网赚,不过大多碰到的都是些诈骗或者网赌的。今天就来给大家介绍几款能真正赚的小游戏,不是那种需要很长时间操作的。 第一款【掌上宝短视频】,一款看看视频就能赚的软件,不过不像快手和抖音之类的。这款软件是看视频得龙珠,目前龙珠价格一颗大概在一块到两块之间,有…

    2022-01-23 • 投稿
  • 人力资源应用软件,人力资源常用软件

    人力资源应用软件,人力资源常用软件人力资源应用软件,人力资源常用软件人力资源应用软件,人力资源常用软件人力资源应用软件,人力资源常用软件

    数字化时代的科技被越来越多应用在人力资源管理中。 人力资源数字化转型已经是趋势,正好静下心来梳理了一下近年来数字技术在国内外人力资源管理中应用状况与趋势,有些技术应用可能还未完全落地成熟,但是希望可以提供一些参考的方向。 一、大数据技术 大数据是数据分析的前沿技术,大数据具有数据体量巨大(Volume)、数据类型繁(Variety)、价值密度低、商业价值高(…

    2023-01-30 • 投稿
  • 现在暗黑3还能赚人民币吗(游戏搬砖还能不能玩)

    说到游戏搬砖大家首先想到的就是地下城和梦幻西游,这两款游戏是搬砖最长久的游戏了没有之一。像后面出来的,逆水寒,古剑奇谭,都只是一波热度过眼云烟。下面我们就来说说暗黑游戏流放之路怎样搬砖了,玩流放之路赚钱的基本上只有两个方面,一是骨灰级搬砖商人大佬做装备,二是无限刷刷刷,流放之路赚钱没有其它的捷径,它的核心玩法就是一个字刷。   我们先说做装备,做装…

    2021-11-25
  • 2022微信小程序游戏手游排行榜

    大家好,这里是正惊游戏,我是正惊小弟。 前不久知名移动应用数据分析公司Sensor Tower公布了2022年1月份全球手机游戏营收排行榜。分别分为总排名、AppStore排名和谷歌市场排名,到底是哪些游戏上榜了呢?这其中又有什么奥秘呢?小弟今儿就给大家分析分析! 说明:数据不包括中国及其他地区第三方安卓市场。 小弟觉得现在压力来到了观众这里,手里的币不够了…

    2023-04-06
  • 木子流量,木子流量联盟

    《关于“木子流量”的探讨与思考》 一、“木子流量”的初步认知也许“木子流量”这个词汇在当下的互联网语境中并不太常见,我觉得它可能是一个相对比较新颖或者特定领域内使用的概念。就好像在一个庞大的互联网海洋中,突然出现了一个不太起眼的小岛,而“木子流量”就像是这个小岛上独有的一种奇特现象。我们或许可以从一些常见的流量相关概念入手,去尝试理解“木子流量”的含义。比如…

    2025-10-21
  • 胡亥,秦二世为什么是胡亥

    秦国,自秦襄公救周有功,被周天子封为诸侯开始,到秦二世胡亥被逼自杀,前后历经600余年,而胡亥毁掉它,只用了3年。   那他是怎么毁掉,他父皇辛辛苦苦打下来的江山呢?管理故事会认为,他主要走了三步臭棋,将其帝国一步步引向灭亡: 据史书记载,秦始皇三十七年(即公元前211年)十月,秦始皇外出巡游。少子胡亥想去巡游,要求跟随,秦始皇就答应了他。 当秦始…

    2023-06-24
  • 做网站要多少钱(个人能做网站赚钱吗)

    在已经是移动互联网的天下了,现在做个人网站还能不能赚钱呢?做个人网站是不是已经过时了? 其实淘宝、京东这些互联网大佬都是做站长起家的,个人网站跟这些大平台的差别就两点: 1、知名度。 2、忠实粉丝群。 如果个人网站能做好这两点,那草根站长们就不需要苦逼苦逼的做SEO,靠着搜索引擎讨饭吃了。 个人网站如果体量做起来了,一样可以开发APP,就像淘宝、京东,他们的…

    2021-11-22
  • qqdaili,QQ代练

    以下是一篇关于“qqdaili”的文章: 一、“qqdaili”是什么? “qqdaili”这个词可能让很多人感到困惑,它究竟是什么呢?也许它是与QQ相关的某种代理工具,就好像是在网络世界中为QQ搭建的一座桥梁,让我们能够通过它来访问一些原本可能无法直接到达的网络资源。我觉得它可能类似于我们日常生活中使用的交通代理,比如在拥挤的道路上,我们可以通过一些特殊的…

    2025-08-26
  • 找兼职一般在什么平台比较好(比较靠谱的兼职平台)

    1.为有事出远门的人遛遛狗、喂喂猫,赚点外快。   2.下班以后做家教,建立固定的客源。   3.周末去找日结的工作,有很多展览需要临时人手。 4.周末找一个热闹的地方摆摊,卖小孩的玩具或者手机壳等小商品。5.兼职设计海报、文案排版、修图。   6.周末去同城探店,尽量找新开的店。   7.运营自己的自媒体账号,慢慢积…

    2021-12-30
  • 爱钱进的钱能追回来吗(爱钱进的钱能追回来吗最新消息)

    爱钱进的钱能追回来吗(爱钱进的钱能追回来吗最新消息)爱钱进的钱能追回来吗(爱钱进的钱能追回来吗最新消息)爱钱进的钱能追回来吗(爱钱进的钱能追回来吗最新消息)爱钱进的钱能追回来吗(爱钱进的钱能追回来吗最新消息)

    截止11月16日,爱钱进官网显示逾期率以大幅飙升,达到43.11%,累计代偿123.49亿,逾期金额85.47亿,90天以上逾期75.5亿。 爱钱进 这就意味着,在未来逾期不增加的情况,爱钱进化解这场危机,累计代偿或将超过200个亿。作为一个累计撮合成交量1047.51亿的平台,需要代偿的金额占据近2成,无论风控和经营情况其实一只脚早已踏进踩雷的泥潭里,只是…

    2021-12-26 • 投稿
  • 民爆行业安全培训考试题库

    民爆行业安全培训考试题库民爆行业安全培训考试题库民爆行业安全培训考试题库民爆行业安全培训考试题库

    一、企业经营情况 民爆行业主要涵盖民用**及其装备的科研、生产、销售、储运,以及爆破工程设计、施工服务、质量检测、进出口等经济活动。民用**总体上涉及炸药、**材两大类,主要产品有工业炸药、**、工业**等多个品种,产品广泛应用于煤炭、金属、非金属等矿山开采,公路、铁路、水利等基础设施建设。 民爆行业下游主要面向基础设施建设及资源开采等行业需求,其中煤炭、金…

    2022-04-20 • 投稿
  • iPhone15将被强制使用USB-C(苹果11手机强制)

    欧洲理事会批准:自2024年起各类在欧盟范围内销售的手机、平板、数码相机等电子设备必须统一使用Type-C充电接口,根据欧盟推算此举可以为世界每年减少11000吨电子垃圾。 近年来市场上的充电器五花八门,包含USB-A、Mini USB和Micro USB等多种类型。这些电子设备数据线接口不一致导致不同设备需要有不同的接口数据线,这无意中产生了一堆电子垃圾。…

    2023-01-28