| 失效链接处理 | 
| 亿级流量下的分布式限流解决方案  PDF 下载 
	本站整理下载: 
	相关截图:  
	主要内容: 
		高并发系统限流 
		短时间内巨大的访问流量,我们如何让系统在处理高并发的同时还能保证自身系统的稳定性?有人会 
		说,增加机器就可以了,因为我的系统是分布式的,所以可以只需要增加机器就可以解决问题了。但 
		是,如果你通过增加机器还是不能解决这个问题怎么办呢?而且这种情况下又不能无限制的增加机器, 
		服务器的硬件资源始终都是有限的,在有限的资源下,我们要应对这种大流量高并发的访问,就不得不 
		采取一些其他的措施来保护我们的后端服务系统了,比如:缓存、异步、降级、限流、静态化等。 
		这里,我们先说说如何实现限流。 
		什么是限流? 
		在高并发系统中,限流通常指的是:对高并发访问或者请求进行限速或者对一个时间内的请求进行限速 
		来保护我们的系统,一旦达到系统的限速规则(比如系统限制的请求速度),则可以采用下面的方式来 
		处理这些请求。 
		拒绝服务(友好提示或者跳转到错误页面)。 
		排队或等待(比如秒杀系统)。 
		服务降级(返回默认的兜底数据)。 
		其实,就是对请求进行限速,比如10r/s,即每秒只允许10个请求,这样就限制了请求的速度。从某种 
		意义上说,限流,其实就是在一定频率上进行量的限制。 
		限流一般用来控制系统服务请求的速率,比如:天猫双十一的限流,京东618的限流,12306的抢票 
		等。 
		限流有哪些使用场景? 
		这里,我们来举一个例子,假设你做了一个商城系统,某个节假日的时候,突然发现提交订单的接口请 
		求比平时请求量突然上涨了将近50倍,没多久提交订单的接口就超时并且抛出了异常,几乎不可用了。 
		而且,因为订单接口超时不可用,还导致了系统其它服务出现故障。 
		我们该如何应对这种大流量场景呢?一种典型的处理方案就是限流。当然了,除了限流之外,还有其他 
		的处理方案,我们这篇文章就主要讲限流。 
		对稀缺资源的秒杀、抢购; 
		对数据库的高并发读写操作,比如提交订单,瞬间往数据库插入大量的数据; 
		限流可以说是处理高并发问题的利器,有了限流就可以不用担心瞬间高峰流量压垮系统服务或者服务雪 
		崩,最终做到有损服务而不是不服务。 
		使用限流同样需要注意的是:限流要评估好,测试好,否则会导致正常的访问被限流。 
		常见的限流算法 
		计数器 
		计数器法 
		限流算法中最简单粗暴的一种算法,例如,某一个接口1分钟内的请求不超过60次,我们可以在开始时 
		设置一个计数器,每次请求时,这个计数器的值加1,如果这个这个计数器的值大于60并且与第一次请 
		求的时间间隔在1分钟之内,那么说明请求过多;如果该请求与第一次请求的时间间隔大于1分钟,并且 
		该计数器的值还在限流范围内,那么重置该计数器。 
		使用计数器还可以用来限制一定时间内的总并发数,比如数据库连接池、线程池、秒杀的并发数;计数 
		器限流只要一定时间内的总请求数超过设定的阀值则进行限流,是一种简单粗暴的总数量限流,而不是 
		平均速率限流 | 



 
     苏公网安备 32061202001004号
苏公网安备 32061202001004号


 
    