java系统高并发问题怎么解决?看完你就明白了

面对10万并发,2秒内响应的需求,本文探讨了大流量处理思路,包括使用缓存、降级和重点讲解的限流策略。介绍了计数器、滑动窗口、漏桶和令牌桶等限流方法,并提及了Guava RateLimiter在分布式场景的应用。此外,还推荐了一个基于SpringBoot的Java小程序新零售SaaS系统实践项目。
摘要由CSDN通过智能技术生成

一个需求 10 万并发,2 秒内给出响应!该怎么去做?有什么好思路?

在实际项目中,曾经遭遇过线上 5W+QPS 的峰值,也在压测状态下经历过 10W+QPS 的大流量请求,本篇博客的话题主要就是自己对高并发流量控制的一点思考。

应对大流量的一些思路?

首先,我们来说一下什么是大流量? 
大流量,我们很可能会冒出:TPS(每秒事务量),QPS(每秒请求量),1W+,5W+,10W+,100W+...。其实并没有一个绝对的数字,如果这个量造成了系统的压力,影响了系统的性能,那么这个量就可以称之为大流量了。 

其次,应对大流量的一些常见手段是什么? 
缓存:说白了,就是让数据尽早进入缓存,离程序近一点,不要大量频繁的访问 DB。 
降级:如果不是核心链路,那么就把这个服务降级掉。打个比喻,现在的 APP 都讲究千人千面,拿到数据后,做个性化排序展示,如果在大流量下,这个排序就可以降级掉! 
限流:大家都知道,北京地铁早高峰,地铁站都会做一件事情,就是限流了!想法很直接,就是想在一定时间内把请求限制在一定范围内,保证系统不被冲垮,同时尽可能提升系统的吞吐量。 

注意到,有些时候,缓存和降级是解决不了问题的,比如,电商的双十一,用户的购买,下单等行为,是涉及到大量写操作,而且是核心链路,无法降级的,这个时候,限流就比较重要了。 

那么接下来,我们重点说一下,限流

限流的常用方式

“ 
限流的常用处理手段有:计数器、滑动窗口、漏桶、令牌。 

  

计数器

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值