首先说下为啥会有限流:
比如说:双11,全民购物狂欢节,虽然我们买东西可开心了,但是会有一个问题. 比如说淘宝服务本来只能支持 10 个人同时访问,但是在有 10000 个人同时访问了,这就会导致系统资源耗尽,最终服务崩掉.
限流的目的是为了控制访问的流量. 比如说它支持10人访问,那么我就控制每次只有10个人访问.
限流的策略:
1.令牌桶:
首先这个桶是有容量的,比如说10.然后每秒钟向桶中放 x 个令牌,当放入的令牌总数 > 桶的容量时,则溢出.(拒绝服务). 每次请求来了,需要先去桶中获取一个令牌才能执行(消费令牌).这样就能控制访问的数量了.
可以理解为生产者-消费者模式. 有一个库存存放生产者生产的东西,消费者从库存中拿东西.
2.漏桶法:
这个桶的容量也是10,但是这个桶下面有一个小孔,按照一定速度消耗. 请求来了就,就进入到桶中,如果说请求突然来了好多,但是下面的孔又很小的话,就会产生溢出(拒绝服务).
两种方法的比较:
漏桶法无法对网络中突然产生的一大波流量进行处理,令牌桶法可以在一定范围内对一大波流量进行处理.
分享到:
相关推荐
01-微服务限流容错之Sentinel详解 微服务资料.pdf
微服务限流组件sentinel相关代码落地
限流的概念,算法,分布式限流以及微服务架构下限流的难点 - 知乎.pdf
微服务架构之限流熔断.pdf
2.1)超时:超时机制你懂的,配置一下超时时间,例如1秒——每次请求在1秒内必须返回,否则到点 2.2)舱壁隔离模式 2.2.1)代码中的舱壁隔离(线程池隔离模
随着微服务的流行,服务和服务之间的稳定性变得越来越重要。缓存、降级和限流是保护微服务系统运行稳定性的三大利器。缓存的目的是提升系统访问...所以限流的目的应当是通过对并发访问/请求进行限速或者一个时间窗口
限流背景介绍讲完了鉴权的实现思路,我们再来看一下限流。所谓限流,顾名思义,就是对接口调用的频率进行限制。比如每秒钟不能超过 100 次调用,超过之后,我们就拒绝
深入理解spring cloud与微服务构建 pdf高清完整版下载 带目录
微服务
容器微服务在流媒体实践.pptx
采用前后端分离的模式,微服务版本前端(基于 RuoYi-Vue)。后端采用Spring Boot、Spring Cloud & Alibaba。注册中心、配置中心选型Nacos,权限认证使用Redis。流量控制框架选型Sentinel,分布式事务选型Seata。提供了...
微服务 微服务 微服务 微服务
方志朋版——深入理解Spring Cloud与微服务构建,学习 Cloud可以看下,内容不太深
Spring Cloud作为Java语言的微服务落地框架,在Spring开源社区和Pivatol、Netflix两大公司的推动下飞速发展,得到了众多开发者的认可,Spring Cloud在未来很可能成为微服务框架的领导者和规范。
分布式跟踪-如何对微服务应用进行延迟分析Distributed tracing
微服务学习
微服务项目微服务项目微服务项目微服务项目微服务项目微服务项目微服务项目微服务项目微服务项目微服务项目微服务项目微服务项目微服务项目微服务项目微服务项目微服务项目微服务项目微服务项目微服务项目微服务项目...
容器及微服务架构模式在流媒体领域(PPTV)的实践.pptx
《深入理解Spring Cloud与微服务构建》word版本