欢迎来到互联时空IDC互联网数据中心!

咨询:0755-88848868   4000-229-882

欢迎来到互联时空IDC互联网数据中心!

咨询:0755-88848868  4000-229-882

高并发系统中的限流技术是什么?限流技术的实现

作者:深圳市互联时空科技有限公司 浏览:
深圳市互联时空科技有限公司是专业的数据中心服务商、Ai智能云服务销售服务商,长期提供数据中心托管服务,私有云,互联网解决方案,大数据,云计算,互联网增值服务。针对工信委大力实施“万企业上云”计划,互联时空以我所能,为你而+,推出上云特惠,核心云计算产品降幅达50%华为云产品全线8折,领取政府资助创新券,只要支付官网的50%!助力5G时代,50M独享服务器(上下行对等)只要8000元1年!也欢迎来聊右侧qq、微信!


在开发高并发系统时,有很多手段来保护系统,如缓存、降级和限流等。缓存目的是提升系统访问速度和增大系统处理能力,可谓是抗高并发流量的银弹。而降级是当服务出问题或者影响到核心流程的性能,需要暂时屏蔽掉,待高峰过去或者问题解决后再打开的场景。而有些场景并不能用缓存和降级来解决,比如稀缺资源(秒杀、抢购)、写服务(如评论、下单)、 频繁的复杂查询(评论的最后几页)等。因此,需有一种手段来限制这些场景下的并发/请求量,这种手段就是限流。
 
 
限流的目的是通过对并发访问/请求进行限速或者一个时间窗口内的请求进行限速来保护系统,一旦达到限制速率则可以拒绝服务(定向到错误页或告知资源没有了)、排队或等待(比如秒杀、评论、下单)、 降级(返回兜底数据或默认数据,如商品详情页库存默认有货)。在压测时我们能找出每个系统的处理峰值,然后通过设定峰值阈值,来防止当系统过载时,通过拒绝处理过载的请求来保障系统可用。另外,也应根据系统的吞吐量、响应时间、可用率来动态调整限流阈值。
 
一般开发高并发系统常见的限流有:限制总并发数(比如数据库连接池、线程池)、限制瞬时并发数(如Nginx的limit_ conn 模块,用来限制瞬时并发连接数)、限制时间窗口内的平均速率(如Guava的RateLimiter、Nginx 的limit _req 模块,用来限制每秒的平均速率),以及限制远程接口调用速率、限制MQ的消费速率等。另外,还可以根据网络连接数、网络流量、CPU或内存负载等来限流。
 
先有缓存这个银弹,后有限流来应对618、双11高并发流量,在处理高并发问题上可以说是如虎添翼,不用担心瞬间流量导致系统挂掉或雪崩,最终做到有损服务而不是不服务。限流需要评估好,不可乱用,否则正常流量会出现一.些奇怪的问题,而导致用户抱怨。
 
在实际应用时,也不要太纠结算法问题,因为- .些限流算法实现是一样的, 只是描述不一样。具体使用哪种限流技术,还是要根据实际场景来选择,不要一味去找最佳模式,白猫黑猫能解决问题的就是好猫。
 
因在实际工作中遇到过许多人来问如何进行限流,因此本文会详细介绍各种限流手段。接下来,我们从限流算法、应用级限流、分布式限流、接入层限流来详细学习限流技术手段。


高并发系统中的限流技术是什么?限流技术的实现
长按图片保存/分享
0
文章推荐
图片展示

 售前热线:0755-88848868

 售后支持:0755-88848825

  4000-229-882

深圳总公司地址:广东省深圳市坂田街道华为科技城布龙路创兴时代A座506-507

广州分公司地址广东省广州市天河区科韵路天河软件园广州信息港C座2楼

深圳市互联时空科技有限公司 版权所有 严禁复制 © 2003-2023 中文域名:深圳服务器.COM  互联时空.COM

广东省IDC、ISP、ICP三证认证企业 《中华人民共和国增值电信业务经营许可证》粤B2-20050516号

粤公网安备 44030702000489号

               

在线客服
联系方式
二维码
置顶
联系方式
客户经理-何(微信同号)
18826508848
客户经理-杨(微信同号)
18344478808
客户经理-李(微信同号)
15018528878
客户经理-王(微信同号)
13751118835
全国服务热线:
4000-229-882
二维码
二维码
本月服务之星
二维码
本月服务之星
添加微信好友,详细了解产品
使用企业微信
“扫一扫”加入群聊
复制成功
添加微信好友,详细了解产品
我知道了