前言

说到限流,想必大家都不陌生,一个很简单的例子就是,在12306上面买票的时候,遇到某时刻开始抢票的时候,经常页面会弹出一个类似请稍后重试的提示,从后端的技术层面来看,大概有2层解释,第一是服务器担心扛不住瞬时的高并发流量被拖垮而快速响应,另一个就是对当前的这个请求做了限流

限流基本概念

结合大家过往经验,不难理解“限流”的含义,对一般的限流场景来说它具有两个维度的信息:

  • 时间 限流基于某段时间范围或者某个时间点,也就是我们常说的“时间窗口”,比如对每分钟、每秒钟的时间窗口做限定
  • 资源 基于可用资源的限制,比如设定最大访问次数,或最高可用连接数

上面两个维度结合起来看,限流就是在某个时间窗口对资源访问做限制,比如设定每秒最多100个访问请求。但在真正的场景里,我们不止设置一种限流规则,而是会设置多个限流规则共同作用,主要的几种限流规则如下:

QPS和连接数控制

对于图中连接数和QPS)限流来说,我们可设定IP维度的限流,也可以设置基于单个服务器的限流。

在真实环境中通常会设置多

Java限流及常用解决方案总结相关推荐

  1. Java限流及常用解决方案

    文章目录 限流基本概念 QPS和连接数控制 传输速率 黑白名单 分布式环境 限流方案常用算法 令牌桶算法 漏桶算法 滑动窗口 常用的限流方案 合法性验证限流 Guawa限流 网关层限流 Nginx限流 ...

  2. Java限流之 —— Sentinel初识

    前言 在之前的篇章中,我们聊到了限流的常用解决方案,基于限流衍生出了一些适合在并发场景下的解决方案,常用的像单机模式下的guawa限流,基于原生的限流算法如漏桶.令牌桶等封装出限流逻辑,redis+l ...

  3. Java限流解决方案

    前言 说到限流,想必大家都不陌生,一个很简单的例子就是,在12306上面买票的时候,遇到某时刻开始抢票的时候,经常页面会弹出一个类似请稍后重试的提示,从后端的技术层面来看,大概有2层解释,第一是服务器 ...

  4. Java限流策略与算法

    概要 在大数据量高并发访问时,经常会出现服务或接口面对暴涨的请求而不可用的情况,甚至引发连锁反映导致整个系统崩溃.此时你需要使用的技术手段之一就是限流,当请求达到一定的并发数或速率,就进行等待.排队. ...

  5. 十分钟搞懂Java限流及常见方案

    点击关注公众号:互联网架构师,后台回复 2T获取2TB学习资源! 上一篇:Alibaba开源内网高并发编程手册.pdf 文章目录 限流基本概念 QPS和连接数控制 传输速率 黑白名单 分布式环境 限流 ...

  6. 接口限流算法及解决方案

    参考: 接口限流算法:漏桶算法&令牌桶算法 文章目录 一.限流算法 1. 漏桶算法 2. 令牌桶算法 二.令牌桶算法VS漏桶算法 三.解决方案 1. 使用Guava的RateLimiter进行 ...

  7. JAVA打印流PrintStream 常用方式

    JAVA打印流PrintStream 常用方式 打印流:PrintStream : 继承于OutputStream ,可以使用OutputStream的方法 ***主要用于改变标准输出流方向. (1) ...

  8. Java限流之 —— Guawa

    前言 在上一篇,我们聊了下限流相关的概念和常用的限流解决方案,本篇我们先从最简单的限流组件Guawa开始 关于Guawa的介绍,我们上一篇有过简单的介绍,这里不再过多说明,直接从撸码开始吧 1.pom ...

  9. Java限流之 —— Nginx限流

    前言 在之前的篇章中,我们谈到了限流的解决方案之一,使用网关进行限流的解决方案,而在众多的网关中,Nginx作为一款高性能.轻量级的组件,也提供了强大的可以配置的限流功能,下面我们就基于Nginx看看 ...

最新文章

  1. php和python哪个工资高-Java、Python、Php学哪个好,哪个更有前景?
  2. Mongoose 中使用 populate 实现关联查询
  3. PS里建立工作路径对话框中的“容差”是干什么的?
  4. Linux文件的复制、删除和移动命
  5. 【Linux】后台 nohup 运行 python 程序
  6. Oracle行转列实例
  7. PHP数据处理基本校验
  8. 【js 分页】js 分页 方法一 【实用】
  9. 【知识兔】Excel多级联动关联下拉菜单的制作,一看就会!
  10. 概率机器人书 电子版
  11. linux 屏幕录像软件,Linux系统下推荐使用的5个屏幕录像软件
  12. Android Studio 项目运行错误,弹出“Detected ADB对话框”
  13. 【Python爬虫】2022年数学建模美赛B题数据爬取
  14. java 复制excel_PoiUtil.java 用于excel间sheet复制
  15. 如何批量修改图片名称?
  16. 错误使用 mex 解决方法
  17. python基础语法(一)range函数
  18. Altium Designer画板子步骤
  19. CodeForces 985 E Pencils and Boxes
  20. 首台android手机,黑莓首台Android系统曲面屏手机Priv 真机和视频曝光

热门文章

  1. SAP中利用价格条件有效期条件重叠实现修改价格条件单位的需求实例分析测试
  2. 求职简历撰写要点和模板分享
  3. python身体指数BMI
  4. 用jmeter对抽奖接口进行抽奖概率分析测试
  5. Ogre图形引擎介绍(ZT)
  6. Hive 常用日期处理-昨天、本月、上月同期、去年同期、月初、月末等
  7. 使用SSH链接Linux报错问题
  8. 【Nginx】第二十二节 redirect跟permanent区别
  9. 微营销好标题之金玉良言(微营销标题吸引粉丝篇-4)
  10. CAN诊断浅谈 如何用CAN工具进行诊断