微服务开发架构——Spring Cloud常见问题与总结<五>Spring Cloud 定位问题思路总结

我的GitHub地址:https://github.com/leebingbin/git

    在使用Spring Cloud的过程当中,不免会遇到一些问题。因此对Spring Cloud的经常使用问题作一些总结。github

5、Spring Cloud  定位问题思路总结

    根据市场使用的反馈状况来看,Spring Cloud 进入 Camden 时代后,已经比较稳定。通常来讲,问题都不是 Spring Cloud 自己的 Bug 致使。spring

5.1 排查配置问题

    排查配置有无问题:bootstrap

    · YAML 缩进是否正确网络

    通常新手会发现 Spring Cloud 应用程序到本身本地就没法正常启动了,或配置没法正常加载。有时候协助解决的时候,发现仅仅是 YAML 配置文件缩进不正确。相似这样的问题,应在编码的过程当中严格规避。架构

    · 配置属性是否正确app

    配置属性写错,也是很常见的问题。别看该问题低级,但很多初学者都会遇到这类问题(尤为是当 IDE 不自动提示或给出警告时,应格外注意)。微服务

    · 配置属性的位置是否正确编码

    配置属性位置不正确可能会致使应用的不正常,好比:spa

    -- 应当配置在 Eureka Client 项目中的属性,配置在了 Eureka Server 项目上

    -- 应当写在bootstrap.yml 中的属性,写在了 application.yml 中

    -- 应当写在 application.yml 的属性,写在了 bootstrap.yml 中

5.2 排查环境问题

    若是确认配置无误,便可考虑运行环境是否存在问题。

    · 环境变量

    例如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 。

 

本文为博主原创文章,转载请注明出处!

https://my.oschina.net/u/3375733/blog/

相关文章
相关标签/搜索