一.Spring Cloud定位问题思路总结java
Spring Cloud进入Camden时代后,已经比较稳定。通常来讲,问题都不是Spring Cloud自己的Bug致使。建议按照以下步骤进行定位。须要JAVA Spring Cloud大型企业分布式微服务云构建的B2B2C电子商务平台源码 一零三八七七四六二六spring
1.排查配置问题bootstrap
首先排查配置问题,举几个简单的例子bash
YALM缩进是否正确网络
若是YALM配置文件缩进不正确,Spring Cloud应用程序没法正常启动,或配置没法正常加载。app
相似问题应该在编码过程当中严格避免。分布式
配置属性是否正确微服务
配置属性写错,很多初学者都会遇到这个问题。编码
不少场景下,这类问题可借助IDE的提示功能来排查——当IDE不自动提示或给出警告时,应格外注意。spa
配置属性位置是否正确
配置属性位置不正确可能会致使应用的不正常。举几个例子说明:
-应当配置在Eureka Client项目上的属性,配置在了Eureka Server项目上。
-应当些在bootstrap.yml中的属性,写在了application.yml中,例如:
spring:
cloud:
config:
uri: http://localhost:8080/
复制代码
-应当写在application.yml中的属性,写在了bootstrap.yml中,例如:
eureka.client.healthcheck.enabled=true
2.排查环境问题
若配置无误,便可考虑容许环境问题是否存在,一样举几个例子:
环境变量
例如Java环境变量、Maven环境变量以及Docker容器环境变量等。当应用没法正常工做时,应该确保环境变量配置正确。
依赖下载是否完整
曾经有人遇到没法正常启动的问题,最终发现仅仅是依赖没有下载完整所致。所以,建议在启动应用前,使用如下命令打包,从而确认依赖的完整性。
mvn clean package
网络问题
微服务之间经过网络保持通讯,所以,网络经常是排查问题的关键。当问题发生时,可优先排查网络问题。
3.排查代码问题
通过以上步骤,依然没有定位到Spring Cloud的问题,那么多是编写代码出了问题。不少时候,经常由于少了某个注解,或是依赖缺失,而致使各类异常。 许多场景下,设置合理的日志级别,会对问题定位有奇效。
4.排查Spring Cloud自身问题
若是肯定不是自身代码问题,就可Debug一下Spring Cloud的代码了。同时,可在Github等平台给Spring Cloud项目组提交Issue,而后参考官方答复,尝试避免相应问题。如问题没法规避,就须要Spring Cloud进行扩展,或者修复Spring Cloud的Bug,从而知足需求。此时,请不要忘记在Spring Cloud的Github上Pull Request,协助官方改进Spring Cloud,让Spring Cloud更加完善、稳定。 java B2B2C Springcloud电子商城系统