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

发布时间:2022-07-24 07:17:02 作者:coptiz 阅读量:5238

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

***本网站图片,文字之类版权申明,因为网站可以由注册用户自行上传图片或文字,本网站无法鉴别所上传图片或文字的知识版权,如果侵犯,请及时通知我们,本网站将在第一时间及时删除。

我要评论

网友评论


评论时间:2023-12-23 15:25:01

7.扩展性七日杀服务器管理工具 云云虚拟主机 7.扩展性


评论时间:2022-12-08 15:25:02

目前分布模式已经成为主流发展趋势,被广泛保质保量的云主机租用 应用到各云主机用什么系统版本 模式已经成为主流发展趋势,被广泛应用到各个领域之中

最新文章

 2023-12-25 22:44:35   admin

活动发布区版规

 2023-05-27 22:03:52   御风而行

容器、无服务器、虚拟机:安全性差...

 2023-05-27 19:08:41   小绵羊0123

科技巨头布局云端 服务器 网络硬...

 2023-05-27 18:17:46   姐姐的跟屁虫

钉钉因系统访问流量激增,宕机1小...

热门阅读

 2022-07-23 00:34:02   freeatom

常见ftp命令 FTP命令使用详...

 2022-07-21 02:17:02   ares

双硬盘组建Raid0磁盘阵列图文...

 2022-07-20 06:17:02   mankeung123

用友软件客户端连接不上服务器的解...

 2022-07-23 00:51:02   antonfxb

WebService实例

 2022-07-13 05:38:02   苯小孩

开发、运维不可不看的Linux调...

 2022-07-20 18:51:02   nightstone

如何使用Charles抓取Web...

随机文章

 2022-01-23 05:38:02   fj1221

服务器托管哪家最好?

 2022-04-02 05:38:02   柠檬の滋味

helix server安全设置

 2022-04-06 05:38:02   shuiduo

如何在自己电脑架设FTP服务器

 2022-04-08 05:38:03   xc777

Windows Server 2...

 2022-07-03 05:38:02   司空摘性

5种最常用的黑客工具及防御方法

热评文章

 2022-07-19 20:17:02   dengyu0429

linux vi使用及详细介绍

 2022-07-20 01:00:05   激动的舌头

Linux视频教程:用户管理命令...

 2022-07-21 20:51:02   jessica-an

创建本地FTP站点

 2022-02-07 05:38:03   jasonkidd

WEB服务器配置详解

 2022-07-20 04:51:02   wolfssss

ACL权限-默认与递归(4)

 2022-07-22 15:00:05   淡水珊瑚

Linux下 Samba Ser...
全球云服务器
Catfish(鲶鱼) Blog V 4.7.3