为什么要削减(xue jian)峰值?
也就是峰值的坏处有哪些?服务器的处理资源是恒定的,出现峰值的时候,忙的处理不过来,没有峰值闲的时候,处理资源闲着造成资源的浪费。 如果削减峰值,一个好处是可以让服务端的处理更加平稳,第二个好处是可以节省服务器的资源,节省成本。
如何削减峰值?
削减峰值的处理方式主要有三种。排队,答题,分层过滤。 总的来说他们的不同点是:排队是对大量的请求进行缓冲,答题是对让一定时间内少发请求,而分层过滤是对请求进行过滤,把无效的请求过滤掉。
1)排队,排队是通过队列缓冲请求,控制请求的 发出。队列缓冲的方式适合内部系统之间请求的发出和处理速度不均衡的地方,请求不能随意丢弃,所以就用队列缓冲。
2)答题适合秒杀这样的营销活动。在请求的发起端控制发起请求的速度,因为越到后面无效的请求越多,毕竟库存有限,都没有库存了,请求也就无效了。
3)分层过滤很适合写请求,比如减库存这样的场景。
参考文献
极客时间的秒杀专栏