情况
现有一个 spring-boot的系统部署在k8s的pod中,连接数据库的配置文件 使用的是 域名 order.mydb.com 连接mongodb。
因为数据库迁移需要, 新创建了一个mongodb服务,然后把order.mydb.com域名指向 新的mongodb服务。
但是 spring-boot的系统 发现 缺少数据,经过排查后,新的mongodb数odb据完整,老的mon godb缺少数据。
数据库配置正确,在 spring-boot的系统 所在的 pod和node中 ping 域名 order.mydb.com都指向了 新的mongodb服务。
原因
spring-boot的系统 所在的pod 使用的dns解析未更新,访问的仍然是 老的mongodb服务。
解决方案
重新启动 spring-boot的系统的pod后 解决。
这里有一个经验,进行域名类型的迁移指向数据库,需要重启pod,或者把老的数据库服务停止,防止指向混乱。
在K8s环境中,一个Spring-Boot应用连接MongoDB时,由于数据库域名更改但DNS缓存未更新,导致应用仍访问旧数据库。即使在Pod和Node中域名已指向新数据库,应用仍缺少数据。解决方案是重启Spring-Boot应用的Pod,以确保DNS解析更新,从而正确连接到新数据库。
355

被折叠的 条评论
为什么被折叠?



