微服务架构中的各个服务分散在不同的服务器中, 每个微服务都有自己的配置文件,当微服务个数越来越多的时候,急需一个配置管理中心来统筹管理这些配置文件,截止目前我用过两个配置中心
- disconf是一套完整的基于zookeeper的分布式配置统一解决方案。
- spring_cloud_config 就是本文要着重讲解的啦
首先编写 启动类
@SpringBootApplication
@EnableConfigServer
@EnableEurekaClient
public class ConfigServiceApplication {
public static void main(String[] args) {
SpringApplication.run(ConfigServiceApplication.class, args);
}
}
其中注解
- @EnableConfigServer 是表示该服务是一个配置服务
- @EnableEurekaClient 表示该服务是一个eureka client 可以注册到eureka server 上
bootstrap 里的配置
spring:
profiles:
active: local
cloud:
config:
server:
git:
uri: https://github.com/duanyuhan/smaug-cloud-config.git # 配置代码git 地址
search-paths: smaug #配置代码的路径
name: smaug
profile: jdbc,redis ## 读取文件后缀
label: master ## 分支名
stream:
kafka:
binder:
brokers: 10.0.19.71,10.0.19.72,10.0.19.73
zkNodes: 10.0.19.71,10.0.19.72,10.0.19.73
defaultZkPort: 2181
defaultBrokerPort: 9092
management:
security:
enabled: false
info:
app:
name: ${spring.application.name}
address: ${spring.cloud.client.ipAddress}:${server.port}
env: ${spring.profiles.active}
version: 20180702A
config:
version: ${charge.application.config.version}
bootstrap-local.yml
eureka:
client:
serviceUrl:
defaultZone: http://127.0.0.1:3001/eureka,http://127.0.0.1:3002/eureka
instance:
prefer-ip-address: true
lease-renewal-interval-in-seconds: 10
lease-expiration-duration-in-seconds: 30
instance-id: ${spring.cloud.client.ipAddress}:${server.port}
启动服务 访问 http://peer1:3001/ 即可得到如下图页面
说明config 服务以及成功的注册到服务中心了
访问 http://peer1:3101/smaug/jdbc/master即可看见
相对应的 配置项目 地址 smaug-cloud-config