标签:依赖包 eureka lang vma 推荐 res 指令 它的 启动
yls
2020/5/5
<!--分布式配置中心 start-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
<!--分布式配置中心 end-->
@EnableConfigServer
application.yml
spring:
application:
name: itoken-config
cloud: #分布式配置中心,将配置文件保存到git远程仓库上,访问方式:http://ip:port/{application}/{profile}[/{label}]
config:
label: master #git分支
server:
git:
uri: https://github.com/1612480331-itoken/itoken-config.git #仓库地址,需要在远程仓库自行创建
search-paths: respo #仓库中放配置的目录
username: * #远程仓库用户名
password: * #远程仓库密码
server:
port: 8888
注意文件的名称不是乱起的,例如 config-single-client-dev.yml 和 config-single-client-prod.yml
这两个是同一个项目的不同版本,项目名称为 config-single-client, 一个对应开发版,一个对应正式版。
config-eureka-client-dev.yml 和 config-eureka-client-prod.yml 则是另外一个项目的,
项目的名称就是 config-eureka-client
http://localhost:8888/itoken-eureka/dev/master
Spring Cloud Config 有它的一套访问规则,我们通过这套规则在浏览器上直接访问就可以。
/{application}/{profile}[/{label}]
/{application}-{profile}.yml
/{label}/{application}-{profile}.yml
/{application}-{profile}.properties
/{label}/{application}-{profile}.properties
{application} 就是应用名称,对应到配置文件上来,就是配置文件的名称部分,例如我上面创建的配置文件。
{profile} 就是配置文件的版本,我们的项目有开发版本、测试环境版本、生产环境版本,对应到配置文件上来就是以 application-{profile}.yml 加以区分,例如application-dev.yml、application-sit.yml、application-prod.yml。
{label} 表示 git 分支,默认是 master 分支,如果项目是以分支做区分也是可以的,那就可以通过不同的 label 来控制访问不同的配置文件了。
上面的 5 条规则中,我们只看前三条,因为我这里的配置文件都是 yml 格式的。根据这三条规则,我们可以通过以下地址查看配置文件内容:
http://localhost:3301/config-single-client/dev/master
http://localhost:3301/config-single-client/prod
http://localhost:3301/config-single-client-dev.yml
http://localhost:3301/config-single-client-prod.yml
http://localhost:3301/master/config-single-client-prod.yml
通过访问以上地址,如果可以正常返回数据,则说明配置中心服务端一切正常。
<!--分布式配置中心 start-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-config</artifactId>
</dependency>
<!--分布式配置中心 end-->
spring:
cloud:
config: #云配置
uri: http://localhost:8888 #spring cloud config云配置服务ip+端口
name: itoken-eureka # 服务名称
label: master #git仓库版本
profile: prod #配置文件类型,dev,test,prod
# 下面一部分是通过注册中心连接配置中心,与上面的url直连是一样的效果,推荐使用下面这个
#discovery:
#service-id: itoken-config #配置中心的服务名称
#enabled: true
curl -X POST http://local:8888/bus/refresh
这条指令可以在运行配置管理中心的机器上运行。
如果要远程执行,将localhost改为相关的ip地址
#orderweb表示要更新的应用名称
curl -X POST http://local:8888/bus/refresh?destination=orderweb:**
注意:
并不是所有配置信息都能在线更新生效,例如有关连接数据源的配置,在线更新不能修改,因为应用启动时已经建立了数据库的连接
@RestController
@RefreshScope
public class Test1{
@Value("${port}") String port;
}
标签:依赖包 eureka lang vma 推荐 res 指令 它的 启动
原文地址:https://www.cnblogs.com/yloved/p/12832076.html