配置服务器默认采用git来存储配置信息,也可以本地存储。
配置中心配置
1. pom.xml中加入spring-cloud-config-server,spring-cloud-starter-eureka
2. 主类中配置@EnableConfigServer @EnableEurekaClient
3. application.yml配置
spring.application.name=config-server
server.port=60002
eureka.client.serviceUrl.defaultZone=http://localhost:10001/eureka/
4. 若使用本地存储:
spring.profiles.active=native
spring.cloud.config.server.native.search-locations=classpath:/config
在resource目录下创建config目录,里面配置clientA-dev.yml,clientA-test.yml等
5. 若使用git存储:
spring.cloud.config.server.git.uri=http://git.oschina.net/didispace/SpringBoot-Learning/
spring.cloud.config.server.git.searchPaths=Chapter9-1-4/config-repo
spring.cloud.config.server.git.username=username
spring.cloud.config.server.git.password=password
uri:配置git仓库位置;searchPaths:配置仓库路径下的相对搜索位置,可以配置多个;username:访问git仓库的用户名;password:访问git仓库的用户密码
客户端A配置
1. pom.xml中加入spring-cloud-starter-eureka,spring-cloud-starter-config
2. spring.application.name=clientA
spring.cloud.config.enabled=true
spring.cloud.config.discovery.enabled=true
spring.cloud.config.discovery.service-id=config-server
spring.cloud.config.profile=dev
spring.cloud.config.label=master
eureka.client.serviceUrl.defaultZone=http://localhost:10001/eureka/
解释:
配置中心的{application}-{profile}.properties配置文件,{label}对应git上不同的分支,默认为master。
spring.application.name:对应{application}部分
spring.cloud.config.profile:对应{profile}部分
spring.cloud.config.label:对应git的分支。如果配置中心使用的是本地存储,则该参数无用
spring.cloud.config.uri:配置中心的具体地址(不建议使用,因为不利于负载均衡)
spring.cloud.config.discovery.service-id:指定配置中心的service-id,便于扩展为高可用配置集群。
特别注意:上面这些与spring-cloud相关的属性必须配置在bootstrap.properties中,config部分内容才能被正确加载。因为config的相关配置会先于application.properties,而bootstrap.properties的加载也是先于application.properties。例如上面的defaultZone如果不配置,则找不到service-id,会导致启动失败。
配置中心集群:
1. config-server主类配置@EnableEurekaClient,并启动多个,相当于有多个配置中心注册在服务中心;
2. config-client的properties配置中使用spring.cloud.config.discovery.service-id指定config-server,实现负载均衡。如此,任意一个config-server节点crash了也不影响config-client的运行。
配置实时刷新
配置中心的数据修改后,客户端可实时获取更新内容,实现方式:
1. config-client的pom.xml中新增spring-boot-starter-actuator监控模块,其中包含了/refresh刷新API。
2. git中配置数据修改后,config-client中执行http://localhost:18443/refresh 即可实现client端配置数据更新
实例源码: https://github.com/jixuju/spring-cloud-test.git/config-server
相关推荐
在微服务架构中,Spring Cloud Config 是一个强大的分布式配置中心,它允许开发人员将应用程序的配置存储在远程仓库中,并且可以在运行时动态地管理和更新这些配置,无需重启应用。这个特性对于大型分布式系统来说...
Spring Cloud配置中心获取不到最新配置信息的问题 Spring Cloud配置中心获取不到最新配置信息的问题是一个常见的问题,在微服务应用中,配置中心是非常重要的组件,它负责管理和分发配置信息。但是,如果配置中心出...
本demo springCloud版本为1.5.9,springCloud版本为Dalston.RELEASE。本项目使用本地分布式配置(非git远程配置),启动顺序为服务注册中心(discovery)、配置中心(confugure)、微服务(micro-server),配置文件...
Spring Cloud基于Spring Boot的便利性,为开发者提供了全面的微服务开发支持,包括服务发现、配置中心、负载均衡、熔断机制等众多功能,使得开发人员能够快速构建出健壮的分布式系统。 首先,我们要理解Spring ...
通过上述步骤,Spring Cloud Config就可以作为一个独立的配置中心服务,为微服务架构中的其他服务提供配置信息的获取、更新和版本管理等功能。这样,微服务之间就可以实现配置的解耦,每个微服务只需要关心自己的...
对Spring cloud的配置中心如何配置进行指导,包括Spring boot和Spring mvc
Spring Cloud 是一个基于 Spring Boot 实现的云应用开发工具集,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)...
SpringCloud Config 是一个分布式系统配置管理工具,它允许在分布式系统的不同组件之间集中管理和动态更新配置。本项目是一个个人实现的 SpringCloud Config 的演示示例,旨在帮助理解其工作原理和使用方法。以下是...
Spring Cloud 是一个用于快速构建分布式系统的工具集,提供了配置管理、服务发现、断路器、智能路由、微代理、控制总线等多种功能。这些功能可以帮助开发人员快速地支持实现分布式系统中的常见模式,例如服务注册和...
springcloud生产者与消费者项目实战案例 Spring Cloud 中断路器 Circuit Breaker的应用 配置 Spring Cloud Config Server Spring Cloud Config使用Oracle数据库作为后端配置存储 Spring Cloud Config + Spring Cloud...
它所依赖的基础是Spring Boot框架,因为Spring Cloud是建立在Spring Boot之上的,所以理解Spring Boot是理解和使用Spring Cloud的前提。 Spring Cloud的出现是为了简化分布式系统的开发。在分布式系统中,服务的...
Spring Cloud Config 是一个用于微服务架构中的外部化配置服务器,它允许我们将应用程序的配置存储在远程仓库中,然后在运行时动态地为服务提供配置。这样可以方便地管理和更新多个环境(如开发、测试、生产)下的...
分布式系统的复杂性催生了一系列模板模式,Spring Cloud 提供了一站式的解决方案,使得开发者能够快速支持并实现这些模式,无论是在个人笔记本、裸机数据中心还是托管在 Cloud Foundry 等云平台上。 Spring Cloud ...
SpringCloud整合配置中心是微服务架构中至关重要的一个环节,它允许我们集中管理和分发微服务的配置,使得在分布式环境中能够动态更新配置而无需重启服务。本项目以SpringCloud的配置中心组件——Spring Cloud ...
2. SpringBoot与SpringCloud的结合:SpringBoot简化了Spring应用的初始搭建和配置过程,而SpringCloud则是基于SpringBoot实现的一套微服务解决方案,两者结合可以快速构建微服务应用。 3. 创建并部署第一个Spring...
以下将详细介绍如何在SpringCloud中配置和使用Redis集群。 首先,你需要了解Redis集群的基本概念。Redis集群通过数据分片(Sharding)技术,将数据分散存储在多个节点上,每个节点只负责一部分数据,从而实现数据的...
SpringCloud Config 分布式配置中心 SpringCloud Bus 消息总线 SpringCloud Stream 消息驱动 SpringCloud Sleuth 分布式请求链路跟踪 SpringCloud Alibaba入门简介 SpringCloud Alibaba Nacos 服务注册和配置...
在SpringCloud框架中,Eureka是作为服务发现和注册中心的核心组件,而配置中心则用于集中管理和分发应用的配置,使得微服务架构中的各个服务能够动态地获取和更新配置。下面将详细介绍这两个核心概念以及如何在一个...
SpringCloud是中国Java开发者广泛使用的微服务框架之一,它基于Spring Boot进行快速构建,并提供了众多用于构建分布式系统的服务发现、配置管理、负载均衡、断路器等核心功能。本基础教程旨在帮助初学者全面理解并...
本文将详细介绍如何搭建Spring Cloud Config,并探讨其作为本地配置中心和Git配置中心的两种模式。 首先,我们需要理解Spring Cloud Config的核心概念。它由两个主要组件构成:Config Server(配置服务器)和Config...