首页 > 其他分享 >关于没有熔断降级导致服务重启问题

关于没有熔断降级导致服务重启问题

时间:2024-05-19 18:29:57浏览次数:30  
标签:降级 服务 重启 熔断 线程 actuator

场景

1.k8s微服务触发重启

容器配置的健康检查采用actuator

curl 127.0.0.1:8080/actuator/health

2.容器重启钩子回调

curl -X POST http://127.0.0.1:8080/actuator/shutdown

最终原因是因为调用第三方服务,超时设置3秒,重试3次,三方服务挂起导致tomcat连接池占满,健康检查请求进不来

总结

反思当时

当时是用户反馈才发现

1.首先触发重启需要进行告警

2.关于监测还需要通过error日志激增来进行告警,其实日志也有感知

3.调用其他服务还是需要熔断降级,增对高并发场景,我们设置超时时间就算设置1秒,也会导致请求挂起一秒,

上熔断降级,短期内大量异常,直接熔断,过时间再少量尝试,正常了再放开

经验总结

当出现大面积超时排查步骤

1.结合jvm的线程来看当前活跃线程数量,主要看几种线程状态的数量 比如runable。

2.通过日志量看error是否激增,差异是啥

3.有链路追踪,可以结合链路追踪查看是否有大量耗时接口,和平均响应时间拉长,以及快速定位接口

4.结合数据库挂起的慢查询

线程状态误区

1.本质问题是线程占满了导致,后续服务恢复看线程数量饱和度还是较高如下图

2.原因是这个服务是个并发较高的接口线程池有几个核心参数 核心线程数量 最大线程数量 线程队列 回收时间

3.其实这里面大量的线程是TIme_Waiting的线程,如果是paring的非runable过程中等待的是正常的

还需要结合队列中的任务数量

1.正常的

这种表示非核心线程在poll的时候尝试拿任务,指定时间内拿不到就表示空闲,触发回收(可以研究一下这里源码)

 2.挂起的

业务挂起的都能看出来run挂起的

 

标签:降级,服务,重启,熔断,线程,actuator
From: https://www.cnblogs.com/LQBlog/p/18200577

相关文章

  • Python 数据降级(重采样)
    在数据处理中,经常有高频数据转成低频,秒级数据转成分钟、小时数据等。我们将讨论以下方法:使用Pandas的resample方法:示例:将天数据转化成月数据。代码示例:importpandasaspdimportnumpyasnp#创建随机成绩score数据df=pd.DataFrame({'date':pd.date_range......
  • MacOS环境变量source生效但重启后又失效
      .bash_profile和.zshrc都是macos系统重环境变量配置的文件,但是两者有不同之处。.bash_profile:在执行source~/.bash_profile,只在当前窗口生效,但关闭当前终端窗口或者mac关机重启后不会再生效。.zshrc:在执行source~/.zshrc,这是永久生效的,mac每次启动会自动执行source......
  • Nginx的常用命令(启动重启停止等)
    Windows查看nginx的版本号:nginx-v启动nginx:startnginx快速停止或关闭nginx:nginx-sstop正常停止或关闭nginx:nginx-squit配置文件nginx.conf修改重装载命令:nginx-sreloadLinux进入nginx目录中cd/usr/local/nginx/sbin1、查看nginx版本号./nginx-v2、启......
  • 快捷自由定时重启、注销、关机
    首先,需要用到的这个工具:度娘网盘提取码:qwu2蓝奏云提取码:2r1z1、打开工具,进入定时器编辑版块 2、左侧目录新建一个定时器 3、选择需要的周期,这里是每天0点,一次执行一条 4、添加具体事件 5、选重启 6、也有关机、注销等等 7、添加完成,如果需要,可以......
  • 服务器挂载磁盘!!!centos7要重启服务器才能pvcreate成功
    分区的类型代码`8e`表示LinuxLVM(LogicalVolumeManagement)分区。如果您想将`/dev/sda3`分区用作LVM的一部分,那么它的分区类型应该是`8e`而不是通用的`83`Linux分区类型。根据您之前提供的`fdisk-l`输出,`/dev/sda3`当前是`83`类型,这意味着它被识别为一个......
  • Linux 添加新硬盘无法识别[无需重启]的解决方法
      1、查看硬盘[root@linux-host1~]#lsblkNAMEMAJ:MINRMSIZEROTYPEMOUNTPOINTsda8:0020G0disk├─sda18:101G0part/boot└─sda28:2019G0part├─centos-root253:0......
  • windows10 资源管理器 卡死 底部任务栏不显示程序 点击底部任务栏两次会重启资源管理
     故障存储段,类型0事件名称:AppHangB1响应:不可用CabID:0问题签名:P1:explorer.exeP2:10.0.19041.1266P3:418a6e83P4:a874P5:134217728P6: P7: P8: P9: P10: 附加文件:\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WERE85A.tmp.WERInternalMetadata.xml\\?......
  • WIN10的BUG:语言栏快捷键重启丢失的问题(解决笔记)
    这个问题据说已存在多年,但一直没有解决:crtl+shift+del导致切换语言的热键丢失-MicrosoftCommunity经过下文的引导,发现真存在这个可能性,参照下文的方法解决W10修改输入法快捷键及快捷键BUG解决-知乎(zhihu.com)在我的电脑中是这样设置的:而这个“美式键盘”的快捷方式每次......
  • windows系统android studio启动模拟器蓝屏重启的解决方案
    我使用的是惠普笔记我电脑原有的默认配置:主要是参考其它博主的,发现这些都已默认设置好了1、虚拟化:已启动 2、Hyper-V:已取消  解决办法:androidstudio-->File-->Settings-->搜索:sdk-->AndroidSDK>SDKTools-->查看是否安装了:IntelX86EmulatorAccelerat......
  • OpenFeign 定义后备工厂进行服务降级
    OpenFeign定义后备工厂进行服务降级可以使得远程接口调用失败时进行降级处理,而不会直接报错,影响后续代码逻辑。定义后备工厂的步骤如下:远程接口处定义。@FeignClient(value=ServiceConstants.SYSTEM,fallbackFactory=RemoteFileFallbackFactory.class)publicinterface......