博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
微服务开发架构——Spring Cloud常见问题与总结<五>Spring Cloud 定位问题思路总结...
阅读量:7101 次
发布时间:2019-06-28

本文共 1914 字,大约阅读时间需要 6 分钟。

hot3.png

个人GitHub地址:

    在使用Spring Cloud的过程中,难免会遇到一些问题。所以对Spring Cloud的常用问题做一些总结。

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

    根据市场使用的反馈情况来看,Spring Cloud 进入 Camden 时代后,已经比较稳定。一般来说,问题都不是 Spring Cloud 本身的 Bug 导致。

5.1 排查配置问题

    排查配置有无问题:

    · YAML 缩进是否正确

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

    · 配置属性是否正确

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

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

    配置属性位置不正确可能会导致应用的不正常,比如:

    -- 应当配置在 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 : 

    2)Spring Cloud 对应项目的 GitHub ,例如 Eureka 项目在 Spring Cloud Netflix 中:

    3)Spring Cloud 的 StackOverflow : 

    4)Spring Cloud 的 Gitter : 

    5)Spring Cloud 中国社区:

 

 

· 关于“Eureka常见问题”可以参考,我之前的文章《微服务开发架构——Spring Cloud常见问题与总结<一>Eureka常见问题》: ;

· 关于“Hystrix/Feign 整合Hystrix后首次请求失败”可以参考,我之前的文章《微服务开发架构——Spring Cloud常见问题与总结<二>Hystrix/Feign 整合Hystrix后首次请求失败》:;

· 关于 “Turbine 聚合数据不完整” 可以参考,我之前的文章《微服务开发架构——Spring Cloud常见问题与总结<三>Turbine 聚合数据不完整》:;

· 关于“Spring Cloud 各组件配置属性”可以参考,我之前的文章《微服务开发架构——Spring Cloud常见问题与总结<四>Spring Cloud 各组件配置属性》: 。

 

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

转载于:https://my.oschina.net/u/3375733/blog/1559796

你可能感兴趣的文章
多线程与异步的区别
查看>>
cocos2d-X JS 获取cocostudio中的UI组件
查看>>
我记录网站综合系统 -- 技术原理解析[1:我记录的整体框架的简介](转)
查看>>
Jmeter 2.3.4 报表参数意义
查看>>
Linux命令vi/vim
查看>>
短信API在最土团购开源程序中的运用
查看>>
快速排序
查看>>
Opencv cvCircle函数
查看>>
Spring源码解析——如何阅读源码
查看>>
Java集合之TreeMap源码分析
查看>>
mysql里面if方法的使用
查看>>
链接分析算法之:HITS算法
查看>>
上手并过渡到PHP7(5)——轻量级“集合”迭代器-Generator
查看>>
git的配置
查看>>
python2.0_s12_day19_前端结合后端展示客户咨询纪录
查看>>
angular中$location读取url信息
查看>>
POJ1837 Balance[分组背包]
查看>>
防火墙/IDS测试工具Ftester
查看>>
转载cookie理解
查看>>
[osg]OSG相机添加动画路径
查看>>