SpringCloud常见问题总结(二)
Spring Cloud各组件属性配置
- SpringCloud中的大部分问题可以使用配置属性来规避,
Spring Cloud的配置
- Spring Cloud的所有组件配置都在其官方文档的附录中
- Spring Cloud 整合了很多类库,例如Eureka, Ribbon, Feign等,这些组件自身也有一些配置属性,如下:
- Eureka配置:https://github.com/Netflix/eureka/wiki/Configuring-Eureka
- Ribbon配置:https://github.com/Netflix/ribbon/wiki/Programmers-Guide
- Hystrix配置:https://github.com/Netflix/Hystrix/wiki/Configuration
- Turbine配置:https://github.com/Netflix/Turbine/wiki/Configuration
Spring Cloud 常见问题总结
Spring Cloud在Camden版本之后就比较稳定,一般来说,问题都不是Spring cloud的bug,因此在之前开发过程中遇到的一些问题,我会排查如下几个地方
第一排查配置问题,如下几个案例
- YAML缩进是否正确: 因为缩进导致Spring Cloud应用无法正常启动,或者配置无法正常加载。这种问题可能因为手误造成,尽量先导入JAR通过IDE的自动提示让IDE自己生成对应的配置项,这样可以避免自己输入时候的缩进已经拼写问题。
- 配置属性是否正确:配置属性的写错也是一个非常常见的问题。尽管该问题很低级,但是我相信也是很容易犯错的,因为YAML文件编辑的是吧不想IDE中代码会有编译器自动识别是否正确,往往我们并不能立刻找到错误
- 配置属性的位置是否正确:配置属性位置不正确可能导致应用的不正常。比如
- 应当配在Eureka Client项目上的属性,配置在了Eureka Server项目想。
- 应当写在bootstra.yml中的属性,写在了application.yml中比如:spring.cloud.config.uri:http://localhost:8080
- 应当写在application.yml中的熟悉写在了bootstrap.yml中比如:eureka.client.healthcheck.enabled=true
第二排查环境问题,如下案例:
- 环境变量:例如java环境变量,Maven环境变量,Docker容器环境变量等,当引用无法正常工作时,应该确保环境变量配置正确
- 依赖下载是否完整:利用mvn clean package,包问题也是比较棘手的,特别是有墙的情况
- 网络问题:微服务直接通过网络保持通讯,因此网络经常是排查问题的关键。当问题发生时候,可以先排查网络问题。
第三代码问题:
- 以上排查后都没问题那很可能代码有问题,例如少注解,缺依赖,这都会导致各种异常,合理设置开发日志级别可以很好的定位问题。
排查Spring Cloud自身问题
- 如果确定不是自己问题,我们可以通过DebugSpring Cloud的代码,看是不是框架的bug,给gitHub等平台的Spring Cloud项目组提交issue,然后参考官方恢复,尝试规避相应问题。
上一篇 SpringCloud常见问题总结(一)
SpringCloud常见问题总结(二)相关推荐
- SpringCloud常见问题总结(一)
Eureka常见问题 Eureka注册服务慢 默认情况,服务注册到Eureka Server 的过程比较慢.在开发或者测试时候,如果能够加速注册的过程,从而提升工作效率. Spring Cloud官方 ...
- SpringCloud 2020笔记二
SpringCloud 2020笔记二 Spring Cloud 2020 笔记一 五.GateWay Spring生态系统之上建立的 API 网关服务 基于Spring FrameWork 5.Pr ...
- SpringCloud Ribbon(二)之自定义负载均衡策略IRule
一.Ribbon负载均衡策略 一个服务对应一个LoadBalancer,一个LoadBalancer只有一个Rule,LoadBalancer记录服务的注册地址,Rule提供从服务的注册地址中找出一个 ...
- SpringCloud Greenwich(二)注册中心之consul、Zuul和 gateway网关配置
本项目是搭建基于consul注册中心的springcloud,使用zuul网关和gateway网关 一.框架搭建 (1)项目结构 micro-service 服务提供者 zuul-gateway ...
- 电脑常见问题_解决PC常见问题 篇二十:垃圾佬手把手教你如何正确缩电脑配置砍预算...
A.选购标准 缩CPU的重点有两点: 1.目标使用环境和线程数+单核主频的匹配度,操作系统本身会吃掉一些线程,我们对于电脑的使用现在也比较复杂,挂着钉钉打开一堆网页都是最基础的常态,没个四线程+以上主 ...
- SpringCloud神兽(二)之Ribbon
一. Ribbon概述 Spring Cloud Ribbon是基于Netflix Ribbon实现的一套客户端负载均衡的工具. 简单的说,Ribbon是Netflix发布的开源项目,主要功能是提供客 ...
- SpringCloud(十二)SpringCloudAlibaba Sentinel 分布式系统的流量防卫兵
文章目录 一.Sentinel是什么? 1.1 Sentinel 具有 以下特性 二.Sentinel 使用 2.1 Sentinel 安装. 2.2 创建 `sgg-alibaba-sentinel ...
- 跟我学SpringCloud | 第十二篇:Spring Cloud Gateway初探
SpringCloud系列教程 | 第十二篇:Spring Cloud Gateway初探 Springboot: 2.1.6.RELEASE SpringCloud: Greenwich.SR1 如 ...
- 《SpringCloud》笔记二:项目导入
所有课程的学习及相关资料都是源自b站黑马程序员 感谢黑马程序员给予我们新手的无私帮助,感谢!!! 黑马程序员-----yyds 开始之前一定要先在IDEA的插件商店里面下载lombok插件!!!! 文 ...
最新文章
- swift视图容器_如何使用IBDesignable在Swift中创建漂亮的,可重复使用的渐变视图...
- 客户端dmesg_打印调试技术 printk klogd dmesg(解决打印信息的问题)
- linux系统编程练手项目,精选 22 个 C++ 项目,编程小白练手首选!
- Win10 WSL编译Android开启ccache(提高编译速度)
- linux shell 编程 14 删除日志文件
- Maven入门指南12:将项目发布到私服
- Linux系统安装sentaurus,Synopsys Sentaurus_vA_2008.09-SP1安装详解.pdf
- 读取excel数据批量填充world
- 什么是虚拟内存?虚拟内存的原理
- 2021谷歌IO大会内容
- 基于Bootstrap4写的一个JQuery分页插件
- dvwa-XSS(Reflected)
- 【Go学习笔记】数据类型之切片(slice)
- 使用SpringBoot及Construct2的WebSocket制作联机游戏(二)
- 2020茶艺师(中级)模拟考试及茶艺师(中级)模拟考试题库
- TextView 中文本内容换行
- 超分辨率分析(三)--端到端监督类深度学习方案综述
- python实现滚动字幕
- typora画流程图、时序图(顺序图)、甘特图
- HP DL380 G9 配置RAID
热门文章
- 汇编语言之常见的汇编指令
- Android之线程池
- Android之MediaProjectionManager实现手机截屏总结
- Android之TypedArray 为什么需要调用recycle()
- 链表之删除链表a/b处的节点
- qtabwidget切换tab事件_某超超临界机组初压/限压切换过程中扰动原因分析
- composer切换源_Composer具体安装方法
- vue表格刷新数据_Vue.js+Layer表格数据绑定与实现更新的实例
- 这些世界罕见的地质奇迹,你认识几个!
- 生病了女朋友说要「陪床」,结果真的是陪床不是陪我......