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)

相关推荐

  • 微淘论坛,微淘玩法解读

    《微淘论坛:电商运营的重要阵地与优化策略》 在当今的电商领域,微淘论坛犹如一颗璀璨的明珠,散发着独特的光芒。 它不仅是商家与消费者互动的平台,更是提升品牌知名度、促进销售的重要阵地。 那么,微淘论坛究竟是什么?它又有哪些作用呢?我们一起来深入探讨一下。 一、微淘论坛的定义与特点 微淘论坛可能是电商平台上的一个特定板块,也许它就像是一个线上的社区,商家和消费者…

    投稿 2025-05-28
  • 女人挣钱的门路(女人想挣钱有什么门路)

    虽说如今女人的地位高,不用强求自己去挣钱养家,但是自己掌握经济权还是能给自己一个安全感的,所以很多女人不愿意在家当家庭妇女,更愿意去外面挣钱,这里小编就给大家分享一些女人赚钱的门路吧。 1、街边特色小吃 如果去开个店铺做生意会比较麻烦,因为需要做的事情有很多,比如说装修,招聘员工等等,有很多的琐事要做好。所以不少创业投资者把创业目光转向了街边小吃车上。比如麻…

    2022-01-21
  • 美特斯 邦威怎么样?美特斯邦威现状如何

    #美特斯邦威#在中国服装市场上,如果要说服装品牌现在大家可能会给出很多的答案,但是如果问当年的80后、90后一个品牌一定会被他们经常提起,这就是大名鼎鼎的美特斯邦威,当年一句”不走寻常路“吸引了多少人,周天王的代言又曾经是多少人的”青春“,然而就是这个青春的记忆美邦却在最近彻底关掉了自己在上海最有名的超大旗舰店,很多人都在问不走寻常路的美邦还有希望吗? &…

    2022-05-03 投稿
  • 电信流量卡接入点(手机用物联网卡安全吗)

    IT之家 3 月 30 日消息,日本电报电话公司 NTT 近日宣布已成功开发出 Active Multi-access SIM 卡(主动多接入 SIM 卡),遇有故障一张实体卡可在两家运营商的网络间主动切换,提高可靠性。 官方公告称,该技术允许多个载波与单张 SIM 卡一起使用,并在一个载波发生故障时自动切换到带有 SIM 卡的另一个载波。此 SIM 卡主要…

    2023-05-29
  • 星际秘籍命令怎么用,星际争霸地图全亮

    宇宙印象 深度科普栏目第702期 我们知道星际航行的第一要点就是要有个地图,你才知道目的地是哪儿,距离有多远,需要飞多长的时间。在宇宙飞船技术还没有足够成熟的前提下,绘制一张可靠的星际地图已经具备了足够的技术。 欧洲航天局在2013年推出了盖亚探测器计划,将对银河系内超过10亿颗恒星的位置进行观测,用最高的精度标记处它们的位置。其扩展任务预计将持续到2020…

    2023-07-02 投稿
  • 传奇英雄故事,抗日英雄海娃的故事

    为加强小朋友们对党史、国情知识的深入了解,引导大家能够在少先队组织里立志向、修品行、练本领,传承红色基因,争做时代新人。日前,“小舞台 大梦想”丽江市青少年职业体验实践系列活动走进丽江市广播电视台,参加活动的13位小朋友们,走上主播台,当了一回小小播音员。 丽江新闻综合广播FM106.2《纳西瑞瑞》栏目,通过少儿讲党史故事的方式,了解中国共产党一路走来的艰辛…

    2023-07-04 投稿
  • 京剧谭鑫培,谭鑫培京剧故事

    清末民初的名伶谭鑫培,其父谭志道,唱老旦,嗓音脆亮,有“叫天”(一种鸟)之称,世人皆知。但谭鑫培被誉为“单刀叫天”,却是鲜为人知。说起来很有趣,   谭鑫培从十一岁起入金奎科班学艺,学的老生和武生,崭露头角。他十五岁出科,随父亲在京城“广和成”搭班演戏。后来他嗓子“倒仓”,有一次演《银空山》,唱“自从盘古开天地”那一段,第一句就哑得唱不出声来,招来…

    2023-07-01
  • 五金代理厂家免费铺货(新手开五金店从哪进货)

    中国五金机电的内销市场, 五金店文化,是一个很大的主题,说起来仅仅是卖卖五金,加上五金店的生意往往大都波澜不惊,卖五金相比其他诸如互联网,金融,电子科技等高歌猛进的产业,似乎成了一个比较LOW的行当。 然而,事实上中国有数以百万计的靠五金为生的人,群体,家庭,直接或者间接影响了近千万人营生。 五金机电几十年以来一直处于不显山露水的蛰伏状态, 因为近几年的MR…

    2023-02-13 投稿
  • 易立竞个人资料简介,易立竞访谈节目在线

    易立竞, 被大家称为是访谈界的冷面灭霸。   最近因为《定义》多次看到她的采访, 《定义》是姐姐这档节目的衍生访谈, 几乎每采一位女艺人都能引发关注, 因为易立竞硬核犀利的提问。 简单感受下▼ 问能力常被质疑的吴昕, “样样都做得一般是机缘问题还是能力问题?”   问好几年不拍戏的黄圣依, “你有代表作吗?”   黄圣依:“《功…

    2022-03-16
  • 最符合摩羯座的一句话(对摩羯座的一句话总结)

    #关于摩羯的文案# 一:我可以高冷,也可以逗比,全看你是谁 二:心里有个小男孩,需要被温柔以待 三:每一次的倔强,冷漠,都是想你能回头抱抱我 四:我不说话,并不代表我冷暴力你,而是我不知道该怎样说 五:我爱你,不到万不得已我不会用嘴说,但是我会处处用行动做 六:我需要你理解我,比给我惊喜更让我动容 七:我要的是长久的陪伴,不是一时的激情,所以我希望相处能慢一…

    投稿 2022-05-07
  • 为什么阿里旺旺打不开,为什么阿里旺旺打不开网页

    《为什么阿里旺旺打不开?全面解析与应对措施》 在日常的网络使用中,我们偶尔会遇到阿里旺旺打不开的情况,这可能会给我们的商务沟通和交易带来一定的困扰。 那么,为什么阿里旺旺会打不开呢?接下来,我们将深入探讨这个问题,并提供一些可能的解决方法。 一、网络连接问题 也许阿里旺旺打不开的最常见原因之一就是网络连接出现了问题。 就像我们在生活中打电话,如果网络信号不好…

    投稿 2025-06-08
  • 三大勋章是指钻石勋章,金质勋章和白银勋章对吗

      而最近它又整了个“查网龄送流量”活动,这就不一样了,因为介个活动真滴简单又粗暴。几十G流量随便送,最重要的是能免费提升家里带宽速度,查网龄还顺便白嫖流量,这么刺激的事情当然得安排一下。       三种勋章、五大特权   首先小雷给大家捋一捋三大勋章是指钻石勋章、金质勋章和白银勋章。   钻石勋…

    2023-06-13 投稿