`
wx1569020408
  • 浏览: 26901 次
最近访客 更多访客>>
文章分类
社区版块
存档分类
最新评论

Spring Cloud 之配置中心

 
阅读更多

配置服务器默认采用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

转载于:https://my.oschina.net/superwind20/blog/1524153

分享到:
评论

相关推荐

    SpringCloud——分布式配置中心(Spring Cloud Config)

    在微服务架构中,Spring Cloud Config 是一个强大的分布式配置中心,它允许开发人员将应用程序的配置存储在远程仓库中,并且可以在运行时动态地管理和更新这些配置,无需重启应用。这个特性对于大型分布式系统来说...

    Spring Cloud配置中心获取不到最新配置信息的问题

    Spring Cloud配置中心获取不到最新配置信息的问题 Spring Cloud配置中心获取不到最新配置信息的问题是一个常见的问题,在微服务应用中,配置中心是非常重要的组件,它负责管理和分发配置信息。但是,如果配置中心出...

    springCloud分布式配置中心

    本demo springCloud版本为1.5.9,springCloud版本为Dalston.RELEASE。本项目使用本地分布式配置(非git远程配置),启动顺序为服务注册中心(discovery)、配置中心(confugure)、微服务(micro-server),配置文件...

    Spring Cloud实战 _springcloud实战_springcloud_

    Spring Cloud基于Spring Boot的便利性,为开发者提供了全面的微服务开发支持,包括服务发现、配置中心、负载均衡、熔断机制等众多功能,使得开发人员能够快速构建出健壮的分布式系统。 首先,我们要理解Spring ...

    SpringCloud之七 分布式配置中心SpringCloudConfig.pdf

    通过上述步骤,Spring Cloud Config就可以作为一个独立的配置中心服务,为微服务架构中的其他服务提供配置信息的获取、更新和版本管理等功能。这样,微服务之间就可以实现配置的解耦,每个微服务只需要关心自己的...

    Spring cloud的配置中心

    对Spring cloud的配置中心如何配置进行指导,包括Spring boot和Spring mvc

    spring-cloud项目_springcloud_springcloud项目_springcloud_spring-clou

    Spring Cloud 是一个基于 Spring Boot 实现的云应用开发工具集,它为开发者提供了在分布式系统(如配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态)...

    springcloud配置中心个人demo

    SpringCloud Config 是一个分布式系统配置管理工具,它允许在分布式系统的不同组件之间集中管理和动态更新配置。本项目是一个个人实现的 SpringCloud Config 的演示示例,旨在帮助理解其工作原理和使用方法。以下是...

    SpringCloud中文文档

    Spring Cloud 是一个用于快速构建分布式系统的工具集,提供了配置管理、服务发现、断路器、智能路由、微代理、控制总线等多种功能。这些功能可以帮助开发人员快速地支持实现分布式系统中的常见模式,例如服务注册和...

    SpringCloud项目实战各组件源代码案例

    springcloud生产者与消费者项目实战案例 Spring Cloud 中断路器 Circuit Breaker的应用 配置 Spring Cloud Config Server Spring Cloud Config使用Oracle数据库作为后端配置存储 Spring Cloud Config + Spring Cloud...

    Spring Cloud之一 Spring Cloud简介

    它所依赖的基础是Spring Boot框架,因为Spring Cloud是建立在Spring Boot之上的,所以理解Spring Boot是理解和使用Spring Cloud的前提。 Spring Cloud的出现是为了简化分布式系统的开发。在分布式系统中,服务的...

    springcloud config配置中心

    Spring Cloud Config 是一个用于微服务架构中的外部化配置服务器,它允许我们将应用程序的配置存储在远程仓库中,然后在运行时动态地为服务提供配置。这样可以方便地管理和更新多个环境(如开发、测试、生产)下的...

    SpringCloud.pdf

    分布式系统的复杂性催生了一系列模板模式,Spring Cloud 提供了一站式的解决方案,使得开发者能够快速支持并实现这些模式,无论是在个人笔记本、裸机数据中心还是托管在 Cloud Foundry 等云平台上。 Spring Cloud ...

    SpringCloud整合配置中心.zip

    SpringCloud整合配置中心是微服务架构中至关重要的一个环节,它允许我们集中管理和分发微服务的配置,使得在分布式环境中能够动态更新配置而无需重启服务。本项目以SpringCloud的配置中心组件——Spring Cloud ...

    springcloud视频学习

    2. SpringBoot与SpringCloud的结合:SpringBoot简化了Spring应用的初始搭建和配置过程,而SpringCloud则是基于SpringBoot实现的一套微服务解决方案,两者结合可以快速构建微服务应用。 3. 创建并部署第一个Spring...

    springcloud部署redis集群

    以下将详细介绍如何在SpringCloud中配置和使用Redis集群。 首先,你需要了解Redis集群的基本概念。Redis集群通过数据分片(Sharding)技术,将数据分散存储在多个节点上,每个节点只负责一部分数据,从而实现数据的...

    尚硅谷SpringCloud第2季2020版.mmap

    SpringCloud Config 分布式配置中心 SpringCloud Bus 消息总线 SpringCloud Stream 消息驱动 SpringCloud Sleuth 分布式请求链路跟踪 SpringCloud Alibaba入门简介 SpringCloud Alibaba Nacos 服务注册和配置...

    springcloud+注册中心eureka+配置中心demo

    在SpringCloud框架中,Eureka是作为服务发现和注册中心的核心组件,而配置中心则用于集中管理和分发应用的配置,使得微服务架构中的各个服务能够动态地获取和更新配置。下面将详细介绍这两个核心概念以及如何在一个...

    SpringCloud基础教程

    SpringCloud是中国Java开发者广泛使用的微服务框架之一,它基于Spring Boot进行快速构建,并提供了众多用于构建分布式系统的服务发现、配置管理、负载均衡、断路器等核心功能。本基础教程旨在帮助初学者全面理解并...

    Spring Cloud Config(本地配置中心或git配置中心)

    本文将详细介绍如何搭建Spring Cloud Config,并探讨其作为本地配置中心和Git配置中心的两种模式。 首先,我们需要理解Spring Cloud Config的核心概念。它由两个主要组件构成:Config Server(配置服务器)和Config...

Global site tag (gtag.js) - Google Analytics