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


  • 相关阅读:
    Java单链表的实现
    leetcode2
    Spring容器中Bean的生命周期
    my-leetcode
    Map及HashMap原理简述
    网站搭建:服务器+域名+备案
    浅谈X-UA-Compatible&viewport
    Hexo框架搭建个人博客
    Redis安装教程
    MySQL安装教程 --- 解压版
  • 原文地址:https://www.cnblogs.com/lxwphp/p/15453610.html
Copyright © 2020-2023  润新知