也需要一个独立的服务;
依赖:
<dependency>
<groupId>org.springframework.cloudgroupId>
<artifactId>spring-cloud-config-serverartifactId>
dependency>
<dependency>
<groupId>org.springframework.cloudgroupId>
<artifactId>spring-cloud-starter-netflix-eureka-clientartifactId>
dependency>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0modelVersion>
<parent>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-parentartifactId>
<version>2.2.6.RELEASEversion>
<relativePath/>
parent>
<groupId>com.go.cngroupId>
<artifactId>config-centerartifactId>
<version>0.0.1version>
<properties>
<java.version>1.8java.version>
<spring-cloud.version>Hoxton.SR3spring-cloud.version>
properties>
<dependencies>
<dependency>
<groupId>org.springframework.cloudgroupId>
<artifactId>spring-cloud-config-serverartifactId>
dependency>
<dependency>
<groupId>org.springframework.cloudgroupId>
<artifactId>spring-cloud-starter-netflix-eureka-clientartifactId>
dependency>
dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloudgroupId>
<artifactId>spring-cloud-dependenciesartifactId>
<version>${spring-cloud.version}version>
<type>pomtype>
<scope>importscope>
dependency>
dependencies>
dependencyManagement>
<build>
<plugins>
<plugin>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-maven-pluginartifactId>
plugin>
plugins>
build>
project>
@EnableConfigServerserver:
port: 9000
eureka:
client:
service-url:
defaultZone: http://euk1.com:7000/eureka/
spring:
application:
name: config-server
cloud:
config:
label: master
server:
git:
uri: https://github.com/xxx/config-center.git
获取配置规则:根据前缀匹配
/{name}-{profiles}.properties
/{name}-{profiles}.yml
/{name}-{profiles}.json
/{label}/{name}-{profiles}.yml
---
lable:仓库分支、默认master分支
name:服务名称
profile:环境名称,开发、测试、生产:dev qa prd
---
匹配原则:从前缀开始。
application.properties/application.yml 修改为 bootstrap.properties/bootstrap.yml;<dependency>
<groupId>org.springframework.cloudgroupId>
<artifactId>spring-cloud-config-clientartifactId>
dependency>
spring:
cloud:
config:
label: dev
profile: dev
uri: http://localhost:9000/
@Value("${config.info}")
String info;
@GetMapping("/configInfo")
public Object configInfo() {
return info;
}
@RefreshScoperabbitmq-plugins enable rabbitmq_management;<dependency>
<groupId>org.springframework.cloudgroupId>
<artifactId>spring-cloud-starter-bus-amqpartifactId>
dependency>
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-actuatorartifactId>
dependency>
# 这一段consumer 和 config-center 都需要配置
spring:
rabbitmq:
host: 192.168.1.9
username: admin
password: 123456
port: 5672
# 这一段只有 consumer 进行配置
cloud:
config:
discovery:
enabled: true
service-id: config-server
label: dev
profile: dev
# config-center 没有配置中心的配置时,需要这一段
eureka:
client:
service-url:
defaultZone: http://euk1.com:7000/eureka/
curl -X POST http://config_center_ip:port/actuator/bus-refresh;management:
endpoints:
web:
exposure:
include: '*'