我的GitHub地址:https://github.com/leebingbin/git
在使用Spring Cloud的过程当中,不免会遇到一些问题。因此对Spring Cloud的经常使用问题作一些总结。github
根据市场使用的反馈状况来看,Spring Cloud 进入 Camden 时代后,已经比较稳定。通常来讲,问题都不是 Spring Cloud 自己的 Bug 致使。spring
排查配置有无问题:bootstrap
· YAML 缩进是否正确网络
通常新手会发现 Spring Cloud 应用程序到本身本地就没法正常启动了,或配置没法正常加载。有时候协助解决的时候,发现仅仅是 YAML 配置文件缩进不正确。相似这样的问题,应在编码的过程当中严格规避。架构
· 配置属性是否正确app
配置属性写错,也是很常见的问题。别看该问题低级,但很多初学者都会遇到这类问题(尤为是当 IDE 不自动提示或给出警告时,应格外注意)。微服务
· 配置属性的位置是否正确编码
配置属性位置不正确可能会致使应用的不正常,好比:spa
-- 应当配置在 Eureka Client 项目中的属性,配置在了 Eureka Server 项目上
-- 应当写在bootstrap.yml 中的属性,写在了 application.yml 中
-- 应当写在 application.yml 的属性,写在了 bootstrap.yml 中
若是确认配置无误,便可考虑运行环境是否存在问题。
· 环境变量
例如Java环境变量、Maven 环境变量以及 Docker 容器环境变量等。当应用没法正常工做时,应该确保环境变量配置。
· 依赖下载是否完整
我在带新入职的一些新手时,他们遇到应用没法正常启动的问题,最终发现仅仅是依赖没有下载完整所致。所以,建议在启动应用以前,使用以下命令打包,从而确认依赖的完整性。
mvn clean package
· 网络问题
微服务之间经过网络保持通讯,所以,网络经常是排查问题的关键。当问题发生时,可优先排查网络问题。
5.3 排查代码问题
如通过以上步骤,依然没有定位到 Spring Cloud 的问题,那么可能时编写的代码出了问题。不少时候,经常由于少了某个注解,或是依赖缺失,而致使了各类异常。
因此合理的日志级别,会对问题的定位有奇效。
5.4 排查 Spring Cloud 自身的问题
若是肯定不是自身代码问题,就可 Debug 一下 Spring Cloud 的代码了。同时,可在 GitHub 等平台给 Spring Cloud 项目组提交 Issue , 而后参考官方文档回复,尝试规避相应问题。如问题没法规避,就须要 Spring Cloud 进行扩展,或者修复 Spring Cloud 的 Bug , 从而知足需求。此时,请不要忘记在 Spring Cloud 的 GitHub 上 Pull Request , 协助官方改进 Spring Cloud, 让 Spring Cloud 更加完善稳定。
Tips: 可参考的资源(在这些地方,均有官方人员参与,可帮助咱们迅速解决问题)
1)各个项目自身的GitHub,例如 Eureka 的GitHub : http://github.com/Netflix/eureka
2)Spring Cloud 对应项目的 GitHub ,例如 Eureka 项目在 Spring Cloud Netflix 中:http://github.com/spring-cloud/spring-cloud-netflix
3)Spring Cloud 的 StackOverflow : http://stackoverflow.com/questions/tagged/spring-cloud
4)Spring Cloud 的 Gitter : http://gitter.im/spring-cloud/spring-cloud
5)Spring Cloud 中国社区:http://springcloud.cn
· 关于“Eureka常见问题”能够参考,我以前的文章《微服务开发架构——Spring Cloud常见问题与总结<一>Eureka常见问题》:http://www.javashuo.com/article/p-fbmbfvua-w.html ;
· 关于“Hystrix/Feign 整合Hystrix后首次请求失败”能够参考,我以前的文章《微服务开发架构——Spring Cloud常见问题与总结<二>Hystrix/Feign 整合Hystrix后首次请求失败》:http://www.javashuo.com/article/p-mkoycawh-en.html;
· 关于 “Turbine 聚合数据不完整” 能够参考,我以前的文章《微服务开发架构——Spring Cloud常见问题与总结<三>Turbine 聚合数据不完整》:http://www.javashuo.com/article/p-qcbuxfst-eq.html;
· 关于“Spring Cloud 各组件配置属性”能够参考,我以前的文章《微服务开发架构——Spring Cloud常见问题与总结<四>Spring Cloud 各组件配置属性》:http://www.javashuo.com/article/p-vxlulaok-eu.html 。
本文为博主原创文章,转载请注明出处!