SpringCloud配置中心——ConfigServer搭建

在实际应用中,一个系统的每个微服务都会有相同的配置,如数据库配置信息等等。
为了将每个微服务的公共配置可以抽取出来。SpringCloud提供了Config配置中心的配置,作为配置中心(ConfigServer),提供给微服务(ConfigClient)读取并且加载配置。
使用git仓库存放配置文件,SpringCloudConfig读取到之后会自动加载配置。
配置文件可以是.yml、.properties后缀,SpringCloudConfig读取到之后会自动加载。

###搭建ConfigServer
######一、将写好的配置文件push到git仓库中
配置文件命名规则:
应用名-环境名.yml或者应用名-环境名.properties
push文件名为test-dev.yml的文件到git,文件内容:

1serverAddress: 2 activeMQ: http://192.168.10.116:61616 3 redis: http://192.168.10.177:7777 4 nginx: http://192.168.10.155:80
二、创建SonfigServer服务

1、添加ConfigServer依赖,由于要注册到Eureka中被其他服务发现,因此要添加EurekaClient依赖

1<dependency> 2 <groupId>org.springframework.cloud</groupId> 3 <artifactId>spring-cloud-config-server</artifactId> 4 </dependency> 5 <dependency> 6 <groupId>org.springframework.cloud</groupId> 7 <artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> 8 </dependency>

2、主程序中添加注解@EnableConfigServer

1package com.huiche51.www; 2 3import org.springframework.boot.SpringApplication; 4import org.springframework.boot.autoconfigure.SpringBootApplication; 5import org.springframework.cloud.config.server.EnableConfigServer; 6 7@EnableConfigServer 8@SpringBootApplication 9public class ConfigApplication { 10 public static void main(String[] args) { 11 SpringApplication.run(ConfigApplication.class); 12 } 13}

3、application.yml配置

1spring: 2 application: 3 name: config-server #应用名称 4 cloud: 5 config: 6 server: 7 git: 8 uri: root@192.168.2.220:/home/git/server-config.git #git远程仓库的地址 9 search-paths: test 10 basedir: /media/gao/work/project/java/Study/server-config #git本地仓库地址 11 #此仓库如果是私有仓库,则需要用户名与密码 12 username: root 13 password: huiche51. 14 15eureka: 16 client: 17 serviceUrl: 18 defaultZone: http://127.0.0.1:8866/eureka/ 19 20server: 21 port: 8899

4、服务创建完成

客户端访问并加载ConfigServer配置文件

1、作为Config客户端,需要添加ConfigClient的依赖

1<dependency> 2 <groupId>org.springframework.cloud</groupId> 3 <artifactId>spring-cloud-starter-config</artifactId> 4 </dependency>

2、创建bootstrap.yml文件。
bootstrap.properties的优先级高于application.properties,服务启动时,会优先加载bootstrap.properties,所以,对于一些优先加载的配置信息,如数据库信息、配置中心信息等,应存放在bootstrap.properties文件中,可被正常加载。

1spring: 2 cloud: 3 config: 4 name: test #对应{application}部分 5 profile: dev #对应{profile}部分 6 label: master #对应{label}部分 7 discovery: 8 enabled: true #开启Config服务发现支持(从配置中心读取文件) 9 service-id: config-server #目标Config服务端名称 10 11 12eureka: 13 client: 14 serviceUrl: 15 defaultZone: http://127.0.0.1:8866/eureka/ #指定Eureka服务的地址

属性解释:
name: 指定git仓库中某个配置文件的应用名。
**profile:**指定git仓库中某个配置文件的环境名。
**label:**指定目标配置文件在git仓库中的分支名。

运行测试

1、先启动Eureka服务。
2、启动配置中心服务。
3、启动Config客户端
此时config客户端通过eureka访问配置中心,配置中心从git中获取配置文件给config客户端并且加载配置。

ConfigClient动态更新配置文件

*每个ConfigClient(微服务)只有在启动时会从配置中心加载配置,这样如果微服务需要更换配置时就要重启服务。有没有办法可以不重启就可以重新加载最新配置呢?
有滴,ConfigRefresh依赖帮到你。
*

一、配置

引入Refresh依赖

1<dependency> 2 <groupId>org.springframework.boot</groupId> 3 <artifactId>spring-boot-starter-actuator</artifactId> 4 </dependency>

.yml文件配置启用refresh

1management: 2 endpoints: 3 web: 4 exposure: 5 include: refresh
二、触发更新

1、新的配置文件push到git后,给需要重新加载配置的Config客户端发送一个”/actuator/refresh“的post请求

Config客户端就会重新加载新的配置文件

点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

JavaEE进阶知识学习

SpringCloudConfig配置中心概述就前面项目而言,分布面临的问题是配置问题,每一个项目都有一个yml文件,不好运维管理,所有需要一套集中式,动态的配置管理设施,SpringCloud提供了ConfigServer来解决这个问题。SpringCloudConfig是为微服务架构中的微服

Spring Cloud套件

SpringCloud提供的服务  配置管理服务注册服务发现断路器负载均衡智能路由服务间调用一次性令牌微代理思维导图模板全局锁控制总线分布式式会话集群状态领导选举分布式消息  子项目功能说明SpringCloudConfig配置中心,利用git来集

Spring Cloud 系列之 Config 配置中心(二)

本篇文章为系列文章,未读第一集的同学请猛戳这里:SpringCloud系列之Config配置中心(一)(https://my.oschina.net/u/4126211/blog/4274304)本篇文章讲解Config如何实现配置中心自动刷新。配置中心自动刷新  点击链接观看:配置中心自动刷新视频(http