淘宝免费ip地址查询导致服务堵死的坑

淘宝免费ip地址查询导致服务堵死的坑

1、业务中因为想根据用户ip来做一些友好的提示,所以在网上找了个免费的ip查询地址

http://ip.taobao.com/service/getIpInfo.php?ip=

虽然说淘宝的这个地址会限制频率,但是也还勉强可以用

但是今天线上几个服务突然全部被堵死了

主要现象如下:

本地curl “127.0.0.1:port”没反应,外部也进不来

ss -s发现 TCP也是达到1W+

项目日志有的时候刷的很快,有的时候就暂停了

top查看,发现cpu并不高,内存占用也一般

因此看不出来问题究竟出在哪里

——————————————————————————————————————————-

使用jstack dump出停止时的线程信息

发现线程信息基本都是TIME_WAITED,WAITED,而且每个线程都各自等待着不同的线程

本地经过仔细的看,发现了点蛛丝马迹,代码定位到请求淘宝的接口上

接着再用https://jstack.review/#tda_1_dump分析了一下,结果如图,也基本确定了问题出在这里

查看代码,最后发现,一个很高频的接口,因为请求淘宝接口的http工具(历史工具),没做超时显示,返回时间最高的甚至达到900多s

至此,问题解决,项目http工具不统一,留下的炸弹,而api接口未做熔断,也是一大纰漏

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/112562.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Java队列实现

    Java队列实现一、队列简单介绍队列是一种常用的数据结构之一,与之前的栈类似,不过队列是“先进先出”。队列有队头(front)和队尾(rear),数据从队尾进入队列,从队头出队列,队头(front)指向队列的第一个数据,队尾(rear)指向队列中的最后一个数据。二、队列实现队列有很多种,这里只是介绍最基本的实现,采用链式存储,也就是链式队列,与之前的链表存储形式一样,通过结点对象描述一个数据,结点对象包含具体数

    2022年7月14日
    11
  • Object转换为String[]数组,或者其他类型的数组

    Object转换为String[]数组,或者其他类型的数组如题:    可以通过向下转型来获得,但是不知道为什么包类异常,最后我采用的方法如下:Objectl=it.remove(-1,1,3);String[]newarray=null;if(l.getClass().isArray()){intlength=Array.getLength(l);newarray=newString[l

    2022年5月30日
    33
  • c语言枚举类型enum例子_枚举是什么意思

    c语言枚举类型enum例子_枚举是什么意思在实际的编程应用中,有的变量只有几种可能的取值,譬如说一个星期的七种可能,性别的两种可能等等。C语言为这种类型的变量的定义提供了enum关键字。要使用枚举类型的变量,首先需要先定义一个枚举类型名,然后再声明该变量是枚举类型的例如:enumweekday{\\该语句定义了一个`枚举类型`MONDAY,TUSEDAY,WEDNESDAY,…

    2022年10月22日
    0
  • 死循环

    死循环

    2021年9月14日
    46
  • 到底什么是权限?我们应该如何正确理解“权限定义”(请高手指点)

    到底什么是权限?我们应该如何正确理解“权限定义”(请高手指点)

    2021年8月17日
    123
  • 文件读取(FileInputStream 读取本地文件)

    文件读取(FileInputStream 读取本地文件)使用FileInputStream读取本地文件(图片、视频、音乐、文档资料)二进制文件、文本文件1.在物理存储上上没有什么区别,存在硬盘上都是以二进制方式存储2.解释数据的逻辑不同,程序读取文本文件,可以以字符方式读取,也可以以字节读取,将读取的数据解释为ASCII或者unicode编码;当程序读取二进制文件,以字节方式读取,对读取数据的解释由读取数据而定,如读取图片时,需要了解文件的结…

    2022年5月26日
    47

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号