海量请求的解决之道--千万级并发的解决方案

本文介绍了一种通过请求合并处理海量并发请求的方法,利用批量处理提高接口效率,避免因大量瞬间请求导致的服务崩溃。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

海量请求的解决之道–千万级并发的解决方案(请求合并)

设计原理
看标题就可以理解,请求合并就是将请求收集起来,进行一个批量的处理。哪请求收集,怎么收集?收集多少?什么时候收集?又什么时候结束呢?
想想一下,你喊来100万个小伙伴,在某个时间段里,请求我的接口。我是不敢想,假如接口是个人的话,当场就吐血身亡了。这是喊来的小伙伴规定一个时间段测试,平时可能没有什么人访问我的接口。那么收集请求,以规定多少请求数量来批量处理,哪收集不到规定数量,那就不处理。用屁股想,这样是不合理的。那以某一时间段内收集的请求数量,来做为一个批量的批量处理。这样的设计才是合理。
在这里插入图片描述
原理图

看代码

在接口实现类中定义一个内部类,和初始化方法。
在这里插入图片描述

实现类请求接口

通过两个线程间的通讯
在这里插入图片描述

测试

测试我不想写一个模拟千万请求的测试。我就用写了个controller类,用浏览器简单的模拟了一下多请求的测试。
先看controller代码
在这里插入图片描述
模拟多个请求访问
在这里插入图片描述
看一眼控制台
在这里插入图片描述
代码不是最重要的,重要的是思路,如果你学会了,想一想,你以前写的代码,有哪些可以像这样进行改善。想一想以后再写代码前,我是不是可以用到这样的设计模式。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值