一、native本地配置,通过服务发现去找配置中心
1、服务端(config-server)
- 添加依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-config-server</artifactId>
</dependency>
-
启动类添加注解:@EnableConfigServer
-
bootstrap.yml关键部分配置:
spring:
profiles:
active: native # native 表示从本地获取配置文件
include: local
---
spring:
profiles: local
cloud:
config:
server:
native:
search-locations: classpath:config/local/
- 在resources文件夹下创建文件夹并添加配置文件: config/local
|resources
|--config
|----local
|-----application-local.yml # 所有模块共享的配置,单个模块个性化配置可以再下方具体配置文件中覆盖此文件
|-----order-server-local.yml # 指定模块个性化配置,优先级最高
2、客户端(order-server)
-
添加依赖
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-config</artifactId> </dependency>
-
配置文件中添加:
spring:
cloud:
config:
discovery:
enabled: true # 通过服务发现的方式去找配置中心
service-id: config-server
profile: local
#username: yourusername
#password: yourpassword
二、使用git地址
除了yml配置不一样,其他的与上面保持一致
1、git仓库目录:
|config
|--local
|----application-local.yml
|----order-server-local.yml
|--dev
|----application-dev.yml
|----order-server-dev.yml
|--test
|--master
2、服务端yml配置
spring:
profiles: local # local配置
cloud:
config:
server:
git:
uri: http://***/config-server.git
username: yourusername
password: yourpassword
search-paths: /config/local # 使用local中配置
3、客户端yml配置
与第一种情况保持一致即可,这里不需改变
三、Spring Cloud Bus
1、客户端与服务端都引入依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bus-amqp</artifactId>
</dependency>
2、客户端与服务端都添加配置
spring:
profiles: local
cloud:
# server配置这里省略
# bus配置,还需要rabbitmq的支持
bus:
enabled: true
refresh:
enabled: true
rabbitmq:
host: server-pc1
port: 5672
username: username
password: password
3、启动eureka、config、order-port1、order-port2
- 修改配置后单独刷新模块order-port1、order-port2,查看是否生效
- 修改配置后,只调用config的bus-refresh,查看所有客户端是否都被刷新了
bus刷新地址: IP:port/actuator/bus-refresh
带有security认证的地址: username:password@IP:port/actuator/bus-refresh