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

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值