首页 > 其他分享 >接口长时间未响应

接口长时间未响应

时间:2024-07-30 17:32:01浏览次数:11  
标签:调用 加密 接口 嵌入式 响应 限流 长时间 CPU

刚看到鱼皮的文章,一下午连续故障两次,谁把我们接口堵死了?!,想起之前刚进公司时遇到了一个类似问题,线上接口访问不通,超时等待,但是看后台日志是正常运行的,一时间没啥头绪,直接重启,就正常了,由于没有保存案发现场,只能等到再次发生了。

第二天到公司,又卡住了,一样的现象,使用jsp -ljstack <进程PID> > stack.txt,保存案发现场,立马就发现问题

大量的线程在等待本地方法执行完成,经过了解

  1. 这是一段 C 语言编写的 RSA 加密算法,由于Java RSA 加密出来的数据 与 嵌入式解密数据不一致,因此加解密统一采用 C,使用本地方法调用
  2. 嵌入式通过蓝牙透传到后端,再透传到这个加密算法中,加密后将加密串传回给嵌入式比对数据
  3. 每次调用该方法,CPU 飙升至 20%,当前 CPU 几乎达到 100%,并且算法中不存在死锁问题
  4. 工厂短时间内高频调用该方法

综上,这是由于短时间内频繁调用计算密集型逻辑,CPU 计算、调度不过来导致的,需要在入口做限流措施,并且前端在连续调用时等待
一文看懂流量控制
一文了解限流策略的原理与实现

由于老板催的比较紧,并且所在项目是单体,直接使用对象锁实现,还可以使用 AtomicInteger 简单做兼职
ps:后续考虑编写网关项目,对入口流量统一控制,后面遇到也需要这么处理的项目了

这是一段防爬代码块,我不介意文章被爬取,但请注明出处
console.log("作者主页:https://www.cnblogs.com/Go-Solo");
console.log("原文地址:https://www.cnblogs.com/Go-Solo/p/18332455");

标签:调用,加密,接口,嵌入式,响应,限流,长时间,CPU
From: https://www.cnblogs.com/Go-Solo/p/18332455

相关文章

  • Pycharm 设置 yaml 格式接口测试用例模板 (python+pytest+yaml)
    前言初次编写的伙伴们可能对yaml格式不太熟悉,自己写yaml用例的时候,总是格式对不齐啊记不住设定好的关键字啊等等等琐事是我们可以在pycharm上设置用例模块,通过快捷方式调用出对应的模块,达到高效写用例的目的。 pycharm操作集:1、File-Settings(快捷键Ctrl+Alt+S) 2、Live......
  • 纳米体育数据API电竞数据API:资料库数据包接口文档API示例⑥
    纳米体育数据的数据接口通过JSON拉流方式获取200多个国家的体育赛事实时数据或历史数据的编程接口,无请求次数限制,可按需购买,接口稳定高效;覆盖项目包括足球、篮球、网球、电子竞技、奥运等专题、数据内容。纳米数据API2.0版本包含http协议以及websocket协议,主要通过http获取数......
  • 微信小程序批量检测是否被封禁异常接口
              ​      <?php//要检测的appid列表$appids=array('appid1','appid2','appid3');//使用实际的appid//循环调用接口检测小程序状态foreach($appidsas$appid){    $url='https://down.ychengsnsm.com/xcx/checkxcx.php?appi......
  • 顺丰快递查询|阿里云调用API接口实现
    介绍: 本次解析通过阿里云云市场的云服务来实现程序中对快递包裹实时监控,首先需要准备选择一家可以提供快递查询的商品。https://market.aliyun.com/apimarket/detail/cmapi00065859#sku=yuncode5985900001步骤1:选择商品如图点击免费试用,即可免费申请该接口数据。步骤2......
  • 淘宝、天猫、京东API接口的深入解析
    淘宝、天猫、京东API接口案例,非常实用随着电子商务的迅猛发展,越来越多的企业和个人选择在淘宝、天猫、京东等电商平台上进行交易。而API接口的引入,使得这些电商平台具备了更高的可拓展性和便捷性。联讯数据将深入解析淘宝、天猫、京东的API接口,帮助您更好地了解其功能和作用......
  • 如何获得 Shiny Chat 的响应来显示格式化的数学方程?
    我试图让这个示例应用程序输出格式化的数学方程。闪亮的聊天教程此处建议自定义响应显示,但我无法获得建议@chat.transform_assistant_response修改格式。我按原样使用下面的代码:@chat.transform_assistant_responsedef_(content:str)->ui.HTM......
  • Discord.py 正在启动但不响应消息
    importdiscordfromdiscordimportIntents,Message,Clientfromdiscord.extimportcommandsimportosfromdotenvimportload_dotenvfrompathlibimportPathfromrandomimportrandint#launchingbetweendotenv_path=Path('C:/Users/USER/OneDrive/ph......
  • 【Azure APIM】调用APIM的备份接口时候遇见Authentication Failed错误
    问题描述在之前博文中介绍使用SystemManagedIdentity执行APIM备份到StorageAccount的操作时,突然遇见了AuthenticationFailed,详细的错误信息显示证书过期。{"error":{"code":"BadRequest","message":"AuthenticationFailed:Aconfigur......
  • 软件测试必备 - 14个接口与自动化测试练习网站
    随着互联网和移动应用的快速发展,接口和自动化测试的重要性日益凸显。越来越多的企业开始重视API测试,因为它不仅能提升开发效率,还能确保系统的稳定性和安全性。这些练习网站为测试人员提供了宝贵的资源,帮助他们掌握必要的技能,应对日益复杂的测试需求。  在软件测试的世界里,接......
  • 02 Go语言开发REST API接口_20240728 课程笔记
    概述如果您没有Golang的基础,应该学习如下前置课程。Golang零基础入门Golang面向对象编程GoWeb基础基础不好的同学每节课的代码最好配合视频进行阅读和学习,如果基础比较扎实,则阅读本教程巩固一下相关知识点即可,遇到不会的知识点再看视频。视频课程最近发现越来越多的......