限流与队列泄洪

来源:10-4 限流目的介绍

大碗稀饭

2020-02-14

老师你好,请问如下理解限流和队列泄洪对不对?假设一台机器的极限tps是400,那我们限流到300tps,如果这300tps全部是去请求createOrder这个方法,那么这个时候我们如果不用队列泄洪,那么在这1秒内需要处理300个请求,便是有300个线程,导致cpu将会在这个300线程中来回切换,使cpu的消耗加大,所以为了更好的处理300个线程,减小cpu的切换时间开销,减小cpu处理者300个请求的时间,所以我们引入队列泄洪,减少cpu在线程间切换的时间,从而提高相应速度。

最后呢,我觉得,我们如果不使用队列泄洪,其实系统应该也可以解决,但是响应时间会增加。但是我们如果只使用队列泄洪,就只考虑createOrder这个接口应该也是可以解决的,但是有可能,会导致这个order类的tps过大,导致系统处理不过来。

所以,限流应该和队列泄洪是相辅相成的,只用限流可以解决流量过大的问题,但是可能会导致并发量过大,增加cpu的处理时间,所以引入队列泄洪来减少cpu处理300个请求的时间。

可以这样理解吗?

写回答

1回答

龙虾三少

2020-02-15

是的 正确

1
0

聚焦Java性能优化 打造亿级流量秒杀系统(赠秒杀项目)

理解高流量电商网站性能构建思路 用高逼格技术解决性能提升问题

2174 学习 · 1009 问题

查看课程