济南博为峰软件开发培训机构

试听课 + 活动课
填写信息优先获取试听课

位置:学校首页 > 学校动态>济南Web前端学习进阶之限流和降级知识梳理

济南Web前端学习进阶之限流和降级知识梳理

济南Web前端学习进阶之限流和降级知识梳理。在开发高并发系统时有三把利器用来保护系统:缓存、降级和限流。缓存很多Web前端人员都了解,但降级和限流是什么呢?接下来的济南Web前端进阶课中,博为峰济南web前端的小编就给大家简单介绍。

降级

服务降级是当服务器压力剧增的情况下,根据当前业务情况及流量对一些服务和页面有策略的降级,以此释放服务器资源以增加核心任务的正常运行。

降级往往会指定不同的级别,面临不同的异常等级执行不同的处理。根据服务方式:可以拒接服务,可以延迟服务,也有时候可以随机服务。根据服务范围:可以砍掉某个功能,也可以砍掉某些模块。

总之服务降级需要根据不同的业务需求采用不同的降级策略。主要的目的就是服务虽然有损但是总比没有好。

限流

限流可以认为服务降级的一种,限流就是限制系统的输入和输出流量已达到保护系统的目的。

一般来说系统的吞吐量是可以被测算的,为了增加系统的稳定运行,一旦达到的需要限制的阈值,就需要限制流量并采取一些措施以完成限制流量的目的。比如:延迟处理,拒绝处理,或者部分拒绝处理等等。

常见的限流算法有:计数器、漏桶和令牌桶算法。

采用计数器实现限流有点简单粗暴,一般我们会限制一段时间能够通过的请求数,比如访问量限流(通过限制单位时间段内调用量来限流);并发量限流(通过限制系统的并发调用程度来限流)。

漏桶算法即leaky bucket是一种非常常用的限流算法,可以用来实现流量整形(Traffic Shaping)和流量控制(Traffic Policing)。漏桶算法比较好实现,在单机系统中可以使用队列来实现,在分布式环境中消息中间件或者Redis都是可选的方案。

令牌桶算法是一个存放固定容量令牌(token)的桶,按照固定速率往桶里添加令牌。令牌桶可以在运行时控制和调整数据处理的速率,处理某时的突发流量。

领取试听课
温馨提示:为不影响您的学业,来校区前请先电话或QQ咨询,方便我校安排相关的专业老师为您解答
版权所有:搜学搜课(www.soxsok.com) 技术支持:搜学搜课网