nacos icon indicating copy to clipboard operation
nacos copied to clipboard

服务部署到Docker上面但Nacos无法读取全部配置文件

Open zsm5833 opened this issue 1 year ago • 5 comments

java版本:17 spring-cloud-alibaba版本:2023.0.1.0 spring boot版本:3.3.0 spring cloud版本: 2023.0.2 nacos客户端版本:2.3.2 nacos版本为2.3.0, standalone模式, 非docker部署形式 serverAddr均为远程Nacos地址

application文件是这样的(有多个application-${profile}.yml文件) image

如果本地启动服务用远程Nacos地址就没有问题 image

但是如果一部署到服务器的docker上面, application-common.yml(这里common-config.yml内容跟application-common.yml完全一样只是名字不同)一直报is empty, nacos里面有这个文件, 只有这个文件一直读取不了 image

我在Docker容器上面调试看源码直接就报500的TimeoutException了 image image

如果把serverAddr改成localhost的话这个就不会报错, 不知道什么原因

zsm5833 avatar Jun 22 '24 05:06 zsm5833

容器内部ping一下serverAddr看看是否可达?可能是docker的网络模式导致

HMYDK avatar Jun 22 '24 09:06 HMYDK

超时问题无非3种:

  1. 服务端性能不足,响应较慢。
  2. 客户端性能不足,无法即使处理响应,导致响应在队列中对接,外层Future认为超时。
  3. 网络问题,request丢包或者response丢包。

无论哪种问题都需要在出问题的环境自行排查。

KomachiSion avatar Jun 24 '24 01:06 KomachiSion

容器内部ping一下serverAddr看看是否可达?可能是docker的网络模式导致

telnet和ping可达 docker改默认bridge模式就可以调取了

zsm5833 avatar Jun 25 '24 02:06 zsm5833

超时问题无非3种:

  1. 服务端性能不足,响应较慢。
  2. 客户端性能不足,无法即使处理响应,导致响应在队列中对接,外层Future认为超时。
  3. 网络问题,request丢包或者response丢包。

无论哪种问题都需要在出问题的环境自行排查。

但是问题是为什么其他两个文件没有问题就能调取呢? 这个common文件只有9kb的大小, 把超时调的再大也是无法用host模式读取

zsm5833 avatar Jun 25 '24 02:06 zsm5833

超时问题无非3种:

  1. 服务端性能不足,响应较慢。
  2. 客户端性能不足,无法即使处理响应,导致响应在队列中对接,外层Future认为超时。
  3. 网络问题,request丢包或者response丢包。

无论哪种问题都需要在出问题的环境自行排查。

但是问题是为什么其他两个文件没有问题就能调取呢? 这个common文件只有9kb的大小, 把超时调的再大也是无法用host模式读取

这就要查网络配置了, 只修改了网络模式,就不超时了, 说明问题出在旧的网络模式上,是不是旧的网络模式对大数据包支持有问题,或者对于拆包沾包等的支持有问题。

这个就不属于nacos的问题了。

KomachiSion avatar Jun 26 '24 09:06 KomachiSion

No more response from author for a long time, and this problem seems env problem.

KomachiSion avatar Jul 08 '24 02:07 KomachiSion