淘宝免费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接口未做熔断,也是一大纰漏

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

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

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Integer包装类_entityframework面试题

    Integer包装类_entityframework面试题Integer 包装类面试

  • python-Numpy学习之(一)ndim、shape、dtype、astype的用法

    python-Numpy学习之(一)ndim、shape、dtype、astype的用法python-Numpy学习之(一)ndim、shape、dtype、astype的用法参考网址:https://blog.csdn.net/Da_wan/article/details/80518725本文介绍numpy数组中这四个方法的区别ndim、shape、dtype、astype。1.ndimndim返回的是数组的维度,返回的只有一个数,该数即表示数组的维度。2….

  • Tensorflow2实现像素归一化与频谱归一化[通俗易懂]

    Tensorflow2实现像素归一化与频谱归一化[通俗易懂]归一化技术的改进是生成对抗网络(GenerativeAdversarialNetworks,GAN)中众多改进的一种,本文介绍常用于当前GAN中的像素归一化(Pixelnormalization,或称为像素规范化)和频谱归一化(Spectralnormalization,或称频谱规范化),在高清图片生成中,这两种归一化技术得到了广泛使用,最后使用Tensorflow2实现像素归一化和频谱归一化。

  • c++语言截取字符串,详解C++ string常用截取字符串方法

    c++语言截取字符串,详解C++ string常用截取字符串方法string常用截取字符串方法有很多,但是配合使用以下两种,基本都能满足要求:find(stringstrSub,npos);find_last_of(stringstrSub,npos);其中strSub是需要寻找的子字符串,npos为查找起始位置。找到返回子字符串首次出现的位置,否则返回-1;注:(1)find_last_of的npos为从末尾开始寻找的位置。(2)下文中用到的strs…

  • javascript如何定义类

    javascript如何定义类

  • 【机器学习基础】EM算法

    【机器学习基础】EM算法目录一样例二公式描述三参考文献最大期望算法(Expectation-maximizationalgorithm,又译为期望最大化算法),是在概率模型中寻找参数最大似然估计或者最大后验估计的算法,其中概率模型依赖于无法观测的隐性变量。最大期望算法经过两个步骤交替进行计算:第一步是计算期望(E),…

发表回复

您的电子邮箱地址不会被公开。

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