工程师A接手三台新服务器部署业务微服务,启动微服务时报告找不到配置信息,配置信息在spring cloud config中配置;
经过几轮异常点调查,未发现原因,检查项目如下:
1.新服务器可以ping通注册中心/配置中心的ip,并通过测试;
2.新服务器netstat端口检测也正常;
3.微服务启动脚本java -jar命令和其他正常启动微服务脚本一样,没有异常配置;
4.一度怀疑是微服务代码,于是我们做了排除测试,在原来部署服务微服务的旧机器上执行微服务脚本,服务正常启动;
初步结论:新服务器存在配置中心/注册表的网络访问问题;
进一步测试:
发现旧服务器的主机文件已经添加了所有其他微服务机、注册中心、配置中心的本地域名和ip配置。
注册中心eureka的服务列表也显示了主机域名服务,如下图所示:
由此猜测,新机没有配置【所有其他微服务机、注册中心、配置中心机的本地域名和ip的配置】。检查主机配置文件,没有配置。添加主机域名映射文件,再次启动微服务,微服务启动成功。
最终结论:
1.如果微服务在启动过程中没有以ip:port方式注册,则使用本地主机中的域名在注册中心注册微服务;
2.本地微服务调用其他微服务时,需要通过主机文件中的域名配置找到真正的服务ip和端口,进行服务调用。如果没有配置,服务调用将失败;
如下图:如果使用域名注册服务,那么RibbonServer客户端的服务列表是http:// do***in name: port。
本文来自至尊狂魔┈投稿,不代表舒华文档立场,如若转载,请注明出处:https://www.chinashuhua.cn/24/567023.html