【JavaP6大纲】SpringCould篇:如何限流?在工作中是怎么做的?说一下具体的实现?

简介: 【JavaP6大纲】SpringCould篇:如何限流?在工作中是怎么做的?说一下具体的实现?

如何限流?在工作中是怎么做的?说一下具体的实现?


计数器:控制单位时间内的请求数量。缺陷:设每分钟请求数量为60个 每秒可以处理1个请求用户在00:59 发送 60 个请求,在 01:00 发送60个请求 此时2秒钟有120个请求(每秒60个请求)远远大于了每秒钟处理数量的國值Q。

滑动窗口Q:滑动窗口是对计数器方式的改进,增加一个时间粒度的度量单位。把一分钟分成若干等分(6份,每份10秒),在每一份上设置独应计数器,在 00:00-00:09 之间发生请求计数器累加1 当等分数量越大限流统计就越详细。

Leaky Bucket漏桶:规定固定容量的桶,有水进入, 有水流出,对于流进的水我们无法估计进来的数量、速度,对于流出的水我们可以控制速度

Token Bucket令牌桶:规定固定容量的桶token 以固定速度往桶內填充,当桶满时 foken 不会被继续放入,每过来一个请求把 token 从桶中移除如果桶中没有 token 不能请求。

sentinel和spring cloud gateway两个框架都是很好的限流框架

spring cloud gateway 默认使用redis进行限流,修改参数拿来即用

sentinel:通过配置来控制每个山I的流量。

相关文章
|
6月前
|
测试技术
面试题8: 如何确定测试需求的关键场景和细节?
面试题8: 如何确定测试需求的关键场景和细节?
|
存储 移动开发 Java
Java的第十四篇文章——文件和IO流(后期再学一遍)
Java的第十四篇文章——文件和IO流(后期再学一遍)
Java的第十一篇文章——异常(后期再学一遍)
Java的第十一篇文章——异常(后期再学一遍)
|
设计模式 存储 安全
Java的第十三篇文章——JAVA多线程(后期再学一遍)
Java的第十三篇文章——JAVA多线程(后期再学一遍)
|
域名解析 网络协议 Oracle
Java的第十五篇文章——网络编程(后期再学一遍)
Java的第十五篇文章——网络编程(后期再学一遍)
|
存储 数据采集 搜索推荐
「Java面试」一次性带你搞明白面试必问题,谈谈你对ES的理解
ES全称是Elastic Search,它是一个建立在全文搜索引擎库Lucene基础上的开源搜索和分析引擎。ES它本身具有分布式存储、检索速度快的特性。所以,我们经常会用它来实现全文检索的功能。 Elastic官网对ES的定义已经不再是ElasticSearch这一个组件,而是指Elastic Stack生态。
141 0
|
存储 编解码 监控
一文详解|如何写出优雅的代码
和大家一起探讨一下优雅代码
120493 20
一文详解|如何写出优雅的代码
|
Java 编译器
编程基础|如何解决编程中的代码错误问题
编程基础|如何解决编程中的代码错误问题
249 0
|
存储 数据库 索引
【JavaP6大纲】功能设计篇:幂等性实现
【JavaP6大纲】功能设计篇:幂等性实现
109 0
|
算法 Java Android开发

相关实验场景

更多
下一篇
无影云桌面