SpringCloud集成Config配置中心
摘要:
配置中心是SpringCloud的一个组件,目的就是能够将配置文件集中起来统一管理,另外,bootstrap.yml优先于application.yml执行,所以我们可以在配置中心客户端使用bootstrap.yml连接配置中心获取远程仓库的信息
一:创建远程仓库,上传每个微服务的配置文件application.yml
二:创建配置中心服务端
2.1引入配置中心服务端依赖
<dependencies>
<!--引入Eureka的客户端依赖,不包含springboot-start-web,所以要单独引入-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-client</artifactId>
</dependency>
<!--引入springboot-start-web依赖,必须引入-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!--引入springcloud-config依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
</dependencies>
2.2启动类打上注解@EnableConfigServer,开启配置中心的支持
2.3配置application.yml
server:
port:10007#user服务端口号
eureka:
client: #Eureka客户端配置,指向注册中心地址
serviceUrl:
defaultZone: http://localhost:10001/eureka/
instance:
prefer-ip-address: true #开启使用IP地址进行注册
instance-id: ConfigServer:10007 #修改实例Id
spring:
application: #指定此服务的应用名称
name: ConfigServer
cloud:
config:
server:
git:
uri: https://gitee.com/yang-binglong/spring-cloud_-config.git
#如果不是开源仓库,那么需要提供帐号密码
#username:
#password:
配置中心到此集成完毕,通过配置中心的端口号/码云配置文件的名字就可以访问到配置文件,测试是否集成成功
三:集成配置中心客户端【需要集成配置中心的微服务进行配置】
因为bootstrap.yml优先于application.yml执行,所以我们创建bootstrap.yml
=========================================单点集成【无集群】====================================
3.1需要集成配置中心的客户端引入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-client</artifactId>
</dependency>
3.2bootstrap.yml引入配置文件
spring:
cloud:
config:
uri: http://localhost:10007 #指定config服务地址
name: application-payserver #指定需要拉取的配置文件的名称,不需要配置环境和后缀
profile: dev #指定配置文件的环境,相当于拼接-dev.yml到name属性值后面
label: master# 需要拉去的分支
这样就完成了配置中心客户端的集成,会优先读取码云的配置文件
=========================================集群的方式====================================
由于是集群,所以需要屏蔽掉uri,因为集群服务的端口号不同,用服务名替代,到注册中心拉取信息
引入依赖,和上面一样
配置bootstrap.yml
spring:
cloud:
config:
name: application-payserver
profile: dev
label: master
discovery:
service-id: config-server #配置中心服务名
enabled:true #使用服务名访问配置中心
eureka:
client:
serviceUrl:
defaultZone: http://localhost:10001/eureka/ #注册中心地址,需要从注册中心使用服务名发现配置中心