Spring在k8s中无限重启问题之Nacos服务中心

场景

由于众所周知的原因,要求Spring服务存活在k8s里面,要求配置中心使用nacos。在这样一个环境下,不知道什么原因导致k8s里面的Spring服务不断重启。

异常现象

主要的日志现象就是如下图:

不断出现received push data...现象。在这样不断接收数据一段时间,就会导致Spring应用重启。

还有一个现象就是spring在不断给nacos上报心跳的请求,然后,直接登录k8s的pod本地调用curl http://127.0.0.1:8081/actuator/health,发现本地访问该健康检查请求,都变得卡顿了。

可能原因

Spring不断上报nacos心跳,导致Spring应用卡顿,进一步导致影响到k8s的健康检查,从而,导致k8s判断Spring应用挂了,从而,重启Spring应用。

解决

最后,通过设置禁用nacos的服务发现配置,但是,仍旧保留nacos的配置中心作用。

yaml 复制代码
spring:
  #nacos组件
  cloud:
    nacos:
      discovery:
        # 禁用nacos服务发现
        enabled: false

总结

用了k8s的服务发现,我不就应该再用了nacos的服务发现。

相关推荐
谷粒.9 小时前
Cypress vs Playwright vs Selenium:现代Web自动化测试框架深度评测
java·前端·网络·人工智能·python·selenium·测试工具
uzong12 小时前
程序员从大厂回重庆工作一年
java·后端·面试
kyle~12 小时前
C++---value_type 解决泛型编程中的类型信息获取问题
java·开发语言·c++
一周困⁸天.15 小时前
K8S-Ingress资源对象
云原生·容器·kubernetes
开心香辣派小星16 小时前
23种设计模式-15解释器模式
java·设计模式·解释器模式
Halo_tjn16 小时前
虚拟机相关实验概述
java·开发语言·windows·计算机
摆烂z17 小时前
Docker与Jib(maven插件版)实战
java
RainbowSea17 小时前
从 Spring Boot 2.x 到 3.5.x + JDK21:一次完整的生产环境迁移实战
java·spring boot·后端
笨手笨脚の17 小时前
Spring Core常见错误及解决方案
java·后端·spring
奶油松果17 小时前
Springboot自动装配 - redis和redission
java·spring boot·redis