【119期】谈谈在项目中,如何应对高并发流量
作者:互联网
应对大流量的一些思路
什么是大流量?
TPS(每秒事务量),QPS(每秒请求量),1W+,5W+,10W+,100W+...。其实并没有一个绝对的数字,如果这个量造成了系统的压力,影响了系统的性能,那么这个量就可以称之为大流量了。
应对大流量的一些常见手段是什么?
- 缓存:让数据尽早进入缓存,离程序近一点,不要大量频繁的访问DB。
- 降级:如果不是核心链路,那么就把这个服务降级掉。
- 限流:在一定时间内把请求限制在一定范围内,保证系统不被冲垮,同时尽可能提升系统的吞吐量
有些时候,缓存和降级是解决不了问题的,比如,电商的双十一,用户的购买,下单等行为,是涉及到大量写操作,而且是核心链路,无法降级的,这个时候,限流就比较重要了。
限流的常用方式
限流的常用处理手段有:计数器、滑动窗口、漏桶、令牌。
计数器
计数器是一种比较简单的限流算法,用途比较广泛,在接口层面,很多地方使用这种方式限流。在一段时间内,进行计数,与阀值进行比较,到了时间临界点,将计数器清0。
这里需要注意的是,存在一个时间临界点的问题。举个例子,在12:01:00到12:01:58这段时间内没有用户请求,然后在12:01:59这一瞬时发出100个请求,OK,然后在12:02:00这一瞬时又发出了100个请求。这里你应该能感受到,在这个临界点可能会承受恶意用户的大量请求,甚至超出系统预期的承受。
滑动窗口
标签:降级,12,请求,计数器,流量,并发,谈谈,限流,119 来源: https://www.cnblogs.com/xfeiyun/p/15707459.html