java - 如何在服务端限制请求间隔?

 手哥2502852243 发布于 2022-10-28 22:37

背景:客户端发送请求到服务端,服务端JavaEE平台,采用SpringMVC(单例模型)
业务:为安全考虑,此业务方法包裹在Synchroniz中
问题:我想如果客户端短时间大量发送请求的时候,直接通过判断是不是某线程占用期间,如果占用 用就直接返回信息给客户端(如:请求繁忙,请稍后重试...),请问一下,从代码角度可不可以实现?怎么实现?求大神^-^

2 个回答
  • atomicBoolean f = false;

    if(f.get()) return 已经被占用了;

    try{

    f.set true;
    啪啪啪

    } finally{

    f.set false;

    }

    题主是学生吧?分布式系统太没经验了,这个设计很渣。。。

    2022-10-30 07:41 回答
  • 这个貌似是典型的队列应用场景?

    你提示请求繁忙的体验还不如提示类似“系统稍加处理之后就会展现给你结果”这种方式更人性化?

    如果有必要还可以在等待队列执行的过程中前段定时检测队列执行结果,模拟同步请求

    2022-10-30 07:44 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有