Spring Cloud常见问题与总结(四)

一.Spring Cloud各组件配置属性

1.简介

Spring Cloud中的大部分问题都可使用配置属性来解决。本篇将相关组件的配置地址罗列出来,做个小结。

2.Spring Boot的配置

Spring Boot的所有组件配置都在其官方文档的附录,地址如下:

https://docs.spring.io/spring-boot/docs/1.5.9.RELEASE/reference/htmlsingle/

3.Spring Cloud的配置属性

Spring Cloud的所有组件配置都在其官方文档的附录,地址如下:
http://cloud.spring.io/spring-cloud-static/Edgware.RELEASE/#_appendix_compendium_of_configuration_properties

4.原生配置

Spring Coud整合了很多类库,例如Eureka、Ribbon、Feign等。这些组件自身也有一些配置属性,如下:
1 Eureka的配置:https://github.com/netflix/eureka/wiki/Configuring-Eureka
2 Ribbon的配置:https://github.com/netflix/ribbon/wiki/Programmers-Guide
3 Hystrix的配置:https://github.com/netflix/Hystrix/wiki/Configuration
4 Turbine的配置:https://github.com/netflix/Turbine/wiki/Configuration-(1.x)
5.Zipkin的配置:https://github.com/openzipkin/zipkin/tree/master/zipkin-server

 

二.Spring Cloud定位问题思路总结

Spring Cloud进入Camden时代后,已经比较稳定。一般来说,问题都不是Spring Cloud本身的Bug导致。建议按照如下步骤进行定位。

1.排查配置问题

首先排查配置问题,举几个简单的例子

  • YALM缩进是否正确

如果YALM配置文件缩进不正确,Spring Cloud应用程序无法正常启动,或配置无法正常加载。

类似问题应该在编码过程中严格避免。

  • 配置属性是否正确

配置属性写错,不少初学者都会遇到这个问题。

很多场景下,这类问题可借助IDE的提示功能来排查——当IDE不自动提示或给出警告时,应格外注意。

  • 配置属性位置是否正确

配置属性位置不正确可能会导致应用的不正常。举几个例子说明:

-应当配置在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更加完善、稳定。

可供参考的资源


更多精彩内容,扫我有惊喜

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

StarskyBoy

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值