【问题描述】
新增加了一个微服务a,部署在测试环境没问题,上到预生产出现zuulException异常,报错如下图
【解决过程】
排查了一圈,包括排查 :
1.a服务是否正常
排查方法:访问a的/test健康检查接口
排查结果:正常
2.a服务是否正常注册
排查方法:浏览器查看注册机状态
排查结果:正常注册
3.ribbon,histryx的超时配置,
排查方法:修改超时配置,增加连接超时和读取超时时间
排查结果:问题依旧,不是配置导致
4.网关微服务转发请求到a微服务是否正常,包括两个方面
排查方法:1)网关内有做验签逻辑,这块的排查通过打印日志,关闭验签验证
2)网关到a服务的网络环境,通过进入网关的docker服务内,直接curl命令测试是否能访问a的/test接口
排查结果:1)问题依旧,不是验签导致
2)能通,网络正常
下面是怎么解决的 哈哈哈哈哈
经过上述排查后,没有了思路,换人帮忙看(在一个问题上短路后,及时请别人帮忙看,换换思路是不错的方法),发现eureka上两个环境,测试环境注册实例名是ip显示,预生产是一串复杂的服务名字串,怀疑是这个原因,同时发现两个环境的eureka.instance配置也不一样,然后进行尝试,预生产修改为ip设置,居然好了
总结原因:如题
参考了这篇文章 https://breezylee.iteye.com/blog/2393447,感谢!关键内容截图