- 10
- 0
- 约3.1万字
- 约 24页
- 2021-08-09 发布于山东
- 举报
【高并发】如何实现亿级流量下的分布式限流?看这一篇
就够了!!
写在前面
在互联网应用中,高并发系统会面临一个重大的挑战,那就是大量流高并发访问,比如:天猫的
双十一、京东618、秒杀、抢购促销等,这些都是典型的大流量高并发场景。关于秒杀,小伙伴
们可以参见我的另一篇文章《 【高并发】高并发秒杀系统架构解密,不是所有的秒杀都是秒
杀!》
关注【冰河技术】微信公众号,解锁更多【高并发】专题文章。
关于作者
冰河,大数据架构师,编程专家,Mykit系列开源框架作者,多年来致力于分布式系统架构、微服务、
分布式数据库、分布式事务与大数据技术的研究,曾主导过众多分布式系统、微服务及大数据项目的架
构设计、研发和实施落地。在高并发、高可用、高可扩展性、高可维护性和大数据等领域拥有丰富的架
构经验。对Hadoop,Storm ,Spark ,Flink等大数据框架源码进行过深度分析,并具有丰富的实战经
验。目前在研究云原生。公众号【冰河技术】作者,《海量数据处理与大数据技术实战》、《MySQL开
发、优化与运维实战》作者,基于最终消息可靠性的开源分布式事务框架mykit-transaction-message
作者。
关注【冰河技术】微信公众号,解锁更多技术干货文章,每天推送具有深度的技术好文。
如果你觉得冰河写的还不错,请微信搜索并关注「 冰河技术 」微信公众号,跟冰河学习高并发、
分布式、微服务、大数据、互联网和云原生技术,「 冰河技术 」微信公众号更新了大量技术专
题,每一篇技术文章干货满满!不少读者已经通过阅读「 冰河技术 」微信公众号文章,吊打面试
官,成功跳槽到大厂;也有不少读者实现了技术上的飞跃,成为公司的技术骨干!如果你也想像
他们一样提升自己的能力,实现技术能力的飞跃,进大厂,升职加薪,那就关注「 冰河技术 」微
信公众号吧,每天更新超硬核技术干货,让你对如何提升技术能力不再迷茫!
高并发系统限流
短时间内巨大的访问流量,我们如何让系统在处理高并发的同时还能保证自身系统的稳定性?有人会
说,增加机器就可以了,因为我的系统是分布式的,所以可以只需要增加机器就可以解决问题了。但
是,如果你通过增加机器还是不能解决这个问题怎么办呢?而且这种情况下又不能无限制的增加机器,
服务器的硬件资源始终都是有限的,在有限的资源下,我们要应对这种大流量高并发的访问,就不得不
采取一些其他的措施来保护我们的后端服务系统了,比如:缓存、异步、降级、限流、静态化等。
这里,我们先说说如何实现限流。
什么是限流?
在高并发系统中,限流通常指的是:对高并发访问或者请求进行限速或者对一个时间内的请求进行限速
来保护我们的系统,一旦达到系统的限速规则(比如系统限制的请求速度),则可以采用下面的方式来
处理这些请求。
拒绝服务(友好提示或者跳转到错误页面)。
排队或等待(比如秒杀系统)。
服务降级(返回默认的兜底数据)。
其实,就是对请求进行限速,比如10r/s,即每秒只允许10个请求,这样就限制了请求的速度。从某种
意义上说,限流,其实就是在一定频率上进行量的限制。
限流一般用来控制系统服务请求的速率,比如:天猫双十一的限流,京东618的限流,12306的抢票
等。
限流有哪些使用场景?
这里,我们来举一个例子,假设你做了一个商城系统,某个节假日的时候,突然发现提交订单的接口请
求比平时请求量突然上涨了将近50倍,没多久提交订单的接口就超时并且抛出了异常,几乎不可用了。
而且,因为订单接口超时不可用,还导致了系统其它服务出现故障。
我们该如何应对这种大流量场景呢?一种典型的处理方案就是限流。当然了,除了限流之外,还有其他
的处理方案,我们这篇文章就主要
原创力文档

文档评论(0)