淘宝免费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)


相关推荐

发表回复

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

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