淘宝免费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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • python strip()函数

    python strip()函数函数原型声明:s为字符串,rm为要删除的字符序列s.strip(rm)删除s字符串中开头、结尾处,位于rm删除序列的字符s.lstrip(rm)删除s字符串中开头处,位于rm删除序列的字符s.rs

    2022年7月5日
    23
  • vue 富文本存储_vue 富文本编辑器 项目实战用法「建议收藏」

    vue 富文本存储_vue 富文本编辑器 项目实战用法「建议收藏」1.挑个富文本编辑器首先针对自己项目的类型,确定自己要用啥编辑器。1.1wangeditor如果一般类似博客这种项目不需要花里胡哨的,功能也不要求贼多的,推荐一下wangeditor(点击跳转)。能覆盖基本上所有的常见操作,轻量化,开源,有中文文档。▽wangeditor效果图1.2tinyMCE如果需要复杂的编辑器,推荐tinyMCE(点击跳转),同样也非常简单和优雅,但是文档是英文的,配合…

    2022年10月14日
    2
  • 庆祝kkkbo出道!

    庆祝kkkbo出道!希望学编程有始有终,不做弱者,不做断者-常思华联兴之日子,多念华联兴之饭菜,忆图思苦,勉励自身。

    2022年7月3日
    43
  • Python字符串操作之字符串分割与组合「建议收藏」

    Python字符串操作之字符串分割与组合「建议收藏」12、字符串的分割和组合str.split():字符串分割函数通过指定分隔符对字符串进行切片,并返回分割后的字符串列表。语法:os.path.split():路径文件分割函数join(seq):将序列组合成字符串函数

    2022年5月29日
    93
  • vue.js打包后,接口安全问题

    vue.js打包后,接口安全问题

    2021年10月13日
    85
  • java观看视频次数_java数字转换视频播放次数等

    java观看视频次数_java数字转换视频播放次数等1.1万、9999.9万、1.1亿、999亿+*播放量的数字显示规则1-9999,按照实际数字显示10000-9999999,按照1万、1.1万、9999.9万100000000-99900000000,按照1亿、1.1亿、999亿>99900000000,统一显示为999亿+所有数字显示均保留到小数点后一位即可“`java/***视频观看次数、评论数**@paramtimes*@…

    2022年7月8日
    29

发表回复

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

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