所谓高合并,“高”一词没有具体标准,高合并也是根据具体业务场景相对的! 例如,如果100台机器集群中有10000个QPS,即使不是高并发,如果一台机器中有1000个QPS,也可能会出现相对高并发性。
在高并发性的情况下,一般有什么样的应对措施来提高并发性呢?
因为是
QPS的计算方式
高并发,所以首先说明并发的计算QPS=秒内处理的请求数=并发连接数*(1/每个请求的时间) )
缓存
通过增加缓存来提高请求的响应速度。 根据QPS的计算公式,很容易看出响应时间变短,同时执行量就会上升。 这里有数据。 作为参考,编辑实际参与的其中一个项目,使用缓存后平均响应时间将下降十分之一。建议使用一些常用的高速缓存:
GuavacacheGoogle开源本地缓存
memcache、redis缓存
记住一句话,一切都可以缓存!
降级
服务降级主要优先处理关键请求,根据业务实际情况,部分服务将暂时停止。 例如,大部分APP都有上传定位信息的逻辑,即使该逻辑影响APP的使用也可能没有什么影响,但用于一些统计等。 如果由于后台高而同时发生问题,可以暂时停止这部分服务,优先处理其他服务。
限流
限流可以说是紧急情况下万金油的方案! 在流式传输方式中,也在NGINX和后台记录同时数等超过同时数的情况下,直接响应经常失败====相关文章推荐=====
互联网架构中的八大流行技术
三年的JAVA WEB开发所需的技术堆栈
在redis生产环境中需要配置的三个项目是
百度的面试经验