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

相关推荐
Plastic garden14 小时前
K8s(10)NFS 的动态 PV 创建数据库给k8s的mysql和redis
docker·容器·kubernetes
不负岁月无痕14 小时前
C++ 模板核心内容与高频面试题汇总
java·开发语言·c++
Flittly14 小时前
【AgentScope Java新手村系列】(2)第一个Agent-基础对话
java·spring boot·spring·ai
Plastic garden15 小时前
k8s(11) Pod 控制器,服务发现与存储管理
kubernetes
摇滚侠15 小时前
Spring MVC 不是一个单独的框架,是 Spring 框架的一个模块
java·spring·mvc
阿正的梦工坊15 小时前
【Rust】04-借用、引用与切片
java·数据库·rust
devilnumber15 小时前
静态代理 & 动态代理:实战运用 + 场景区别 + 怎么选
java·开发语言·代理模式
Upsy-Daisy15 小时前
Hermes Agent 学习笔记 02:安装、配置与第一次运行
java·前端·数据库
用户46825574591315 小时前
Testcontainers 在 Windows Docker Desktop 上跑不通:协议层不兼容 + 4 种可行环境
java·后端