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的服务发现。

相关推荐
行百里er1 分钟前
代码跑得慢?让Spring的StopWatch告诉你真相!
java·后端·github
又是忙碌的一天6 分钟前
SpringMVC响应
java·服务器·数据库
万物皆字节14 分钟前
Spring Cloud Gateway 启动流程源码分析
java·开发语言·spring boot
W001hhh16 分钟前
260110
java·数据库
stillaliveQEJ23 分钟前
【JavaEE】Spring IoC(一)
java·spring·java-ee
a程序小傲32 分钟前
得物Java面试被问:方法句柄(MethodHandle)与反射的性能对比和底层区别
java·开发语言·spring boot·后端·python·面试·职场和发展
酒书36 分钟前
对接阿里云号码认证实现运营商一键登录
java·阿里云
独自破碎E39 分钟前
比较版本号
java·开发语言
Cyber4K1 小时前
【Kubernetes专项】DockerFile、数据持计划、网络模式及资源配额
运维·网络·云原生·容器·kubernetes
zimoyin1 小时前
浅浅了解下0拷贝技术
java·linux·开发语言