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-07-09 投稿
  • 萨冈最好的作品,你好忧愁萨冈句子迷

    《你好,忧愁》中译本 法国女性作家的人生似乎都十分多姿多彩,具有传奇性,甚至不妨说比她们的小说还要精彩,乔治·桑、波伏瓦、杜拉斯,还有萨冈,都是如此。萨冈(一九三五-二〇〇四)和萨特同一天生日,但要小三十岁,也曾和暮年已功成名就的萨特关系暧昧。她的一生可谓是桀骜不驯,年少成名,备受瞩目,据说连总统也为之倾倒,成为花边新闻。 《你好,忧愁》、《某种微笑》、《一…

    2023-06-28
  • 蒋怡她越来越有魅力(名模蒋怡近照冻龄有术)

    ,名模蒋怡接受了港媒的专访,大方分享了自己的近况,嫁人生娃后她沉迷做菜。   曝光的近照中,蒋怡穿着一袭蓝色和白色相间的修身连衣裙,把保养得宜的好身材展露无遗。已经44岁的她,皮肤仍紧致有光泽,完全没有发福,绝对称得上冻龄有术。 蒋怡虽然是模特出身的,但也拍摄过很多影视剧,包括《篮球火》、《新警察故事》等等,小麦色的皮肤以及高冷的形象,深植观众心中…

    2022-01-07 投稿
  • 开五金店怎么找货源?开五金店初次进货技巧明细表

    五金店在我们传统的印象中,店内产品琳琅满目,随意摆放,客流稀少,生意惨淡,但一开就是十几年,心中不免有些疑问,他们是如何赚钱的呢? 街边五金店 五金店的不起眼,是因为大家看到的只是他生意的一小部分,也就是零售部分。一个五金店,如果只靠零售盈利,那只有死路一条,主要的盈利点是批发和服务业务。五金店的商业模式是典型的『前店后服』模式,即门店、仓库与服务站的综合体…

    2023-02-12
  • 还呗协商还款终于成功了,还呗能协商还款吗

    还呗逾期后,有可能会被起诉的。如果起诉后,仍不履行还款的义务,那么对方就会申请强制执行,冻结你名下的所有金融金融账户。如果名下有固定资产,那么也有可能会强制查封拍卖。 还呗属于网贷,逾期后,被起诉的概率不是很大,不过依然是有被起诉的案例的。因为如果对方想要起诉你,是必须要去你的户籍所在地的法院,提出诉讼申请的。这个起诉的成本还是比较高的,所以逾期金额比较大的…

    2022-03-17
  • 感叹号图标,带感叹号的故障灯图标

    电脑无法上网,右下角网络图标上有个感叹号! 是不是很多人都,遇到这个问题了——-电脑右下角感叹号! 这个问题是不是让您很烦恼,要紧要忙的时候,电脑上不了网,生气起来真的想砸电脑。 第一个引起感叹号的原因: 1、查看电脑网卡是不是被配置了错误的静态IP地址。在控制面板\网络和 Internet\网络连接。 2、找到本地连接。 3、右击本…

    2023-06-29
  • 一个省有几个正部级(省委班子排名顺序)

    作为九省通衢的特大城市,武汉既是湖北省会城市,也是中部六省唯一的副省级城市,存在着多个高规格的机构。 其中,省部级机构主要有以下几类: 一、正省级机构:4个 即湖北省级四套班子:省委、省人大常委会、省政府、省政协。 有两点值得注意: 1、省人大的常设机构叫做“省人大常委会”,后者才是四套班子之一、正省部级建制,其负责人叫做省人大常委会主任,不能简称为省人大主…

    2023-03-29
  • 荤素搭配的甜宠文(好看的小说荤素搭配)

    、《悉尼往事》 作者:黄金矿工双人版   短评:现代异国情缘文,年龄差,1V1,女c男非c,HE。挺玛丽苏的一篇文。男主角在国外做黑帮老大卖du品。介意慎入。黑帮大佬VS女大学生,男主角比女主角大十一岁。女主角出于老爸负气,一个人跑去国外悉尼读书。跟已经一起玩了三年网游的悉尼网友约好来接她。一位成熟稳重,一位美丽青春,两人对彼此都有好感。只不过并非…

    2022-03-14 投稿
  • 赚呗真的能赚钱吗(赚呗是正规的平台吗)

    茂名晚报讯记者林夏通讯员于兵万一团伙注册电子商务科技公司,购买多个虚假投资软件,招募员工进行话术培训,按照话术引诱他人在虚假投资平台投资,通过后台操控涨跌,致使投资者在不知不觉中遭受损失。 近日,经广东省茂名市电白区检察院依法提起公诉,该“微投资”诈骗团伙16名团伙成员被法院依法判处有期徒刑6年6个月至1年1个月不等刑期,并处罚金。 2.3万元的投资平台与国…

    2022-01-09
  • 申请淘宝店铺需要什么条件(怎么申请淘宝网店的步骤)

    我们可以把淘宝店铺的类型分为淘宝普通店铺以及淘宝企业店铺,不同类型的店铺的入驻方式和条件是不一样的,相比之下,企业店铺的入驻门槛会高一些,那么企业店铺入驻到底需要哪些条件呢?   其实现在做一个企业店铺,有两种方式,一个是升级你现有的淘宝店铺,一个是重新注册新的企业店铺,升级店铺的话在你的卖家后台,直接点击升级,会提示你是否符合条件,有很多要求,可…

    2021-11-19
  • 最新接单赚钱平台(个人怎么在网络上接单挣钱)

      大多数人可能不知道,今日展天博客不止拍视频、发图文能赚钱,还有其他的方式。 下面七七就来分享展天博客号的7种赚钱方式。 1.发图文 账号:任何新注册的账号,完成实名认证后,就可以发布图文啦。 赚钱:平台会根据每篇文章的实际阅读量和粉丝阅读量来变现,粉丝积累的越多、粉丝阅览量和阅读完整程度决定单价,原创的文章价格每万次阅读有5-100元之间浮动。…

    2022-01-08 投稿
  • 私有云厂商及产品,私有云平台创新排行榜

    云技术自出现到今日的繁荣发展已经很多个年头了,这期间,存储和网络带宽的提升都为云技术的发展铺平了道路,时至今日,私有云作为一种新的信息应用技术,正在为当代企业提供新的动力。 所谓私有云,是能够帮企业快速构建云计算基础架构的系统软件,通过互联网或内部网络仅面向特定用户提供计算服务,有时候也叫做内部云或者公司云。相对于公有云,私有云不仅具有公有云的优势,如自主服…

    2023-02-04