C/C++教程

Config详解

本文主要是介绍Config详解,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

Config分布式配置

目的:分布式系统面临的配置问题

作用

  1. 集中管理配置文件
  2. 不同的环境不同配置,动态化的配置更新、分环境部署如‘dev/test/beta/release’
  3. 运行期间动态配置,不需要在服务器上编写配置文件,服务会向配置中心统一拉取配置自己的信息
  4. 当配置发生变动时,服务不需要重启即可感知到配置的变化并启动新的配置
  5. 将配置信息依rest的借口进行暴露

git命令操作

git add
git commit
git push

从git到服务端再到客户端

服务端

pom spring-cloud-config-server
启动注解
@EnableConfigServer

###yml配置

server:
	port: 3344
spring
  application:
	name :cloud-config-center#注册进Eureka服务器的微服务名称
  cloud: 
	config:
		server:
			git:
				url: git@github.com:zzyybs/springcloud-config.git #GitHUb上面对应的仓库名称
				#搜索目录
				search-paths:
					-springcloud-config
				#读取分支
				label: master

配置 label:分支(branch)、name:服务名 、profiles:环境(dev/test/prod)

客户端

application.yml是用户级的资源配置项
bootstrap.yml是系统级,优先级别更高
bootstrap和application有着不同的约定,所以新增一个bootstrap.yml文件保证他们之间是分离的,BootstrapContext负责从外部源加载配置并解析配置。这从上下文共享一个从外部获取的Environment

pom spring-cloud-starter-config
spring-cloud-starter-actuator//自动重启
bootStrap.yml

server:
    3355
spring:
	application:
		name: config-client
	cloud:
	#config客户端配置
		config:
			label: master#分支名称
			name: config #配置文件名称
			profile: dev#读取后缀名称
			uri: http://localhost:3344 #配置中心地址
#暴露监控端点

management:
	endpoints"
 		web:
			exposure:
				include: "*"

@RestController
@RefreshScope
public class ConfigClientController {
@value("${config.info}")
private String configInfo;
@value("/configInfo")
public String getConfigInfo() {
return configInfo;//获取配置信息
}

}

发送配置端口 http://localhost:3355/actuator/refresh

这篇关于Config详解的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!