1、微服务架构中,如何管理配置?
1.1 说明在分布式微服务架构中,配置文件存储到对应的微服务中,以application.properties或者application.yml形式存在1.2 问题管理难度大:每个微服务都需要单独去管理配置安全性低:配置信息跟随代码一起保存,一旦代码泄露所有配置也都对外泄露配置维护困难: 配置信息维护困难,修改配置后必须要重启,否则无法生效局限性:配置的动态调试,日志功能的开关1.3 解决为了解决上面的问题,通过我们会引入统一的配置中心来管理配置:市面上配置中心产品:1、Nacos 作为注册中心与配置中心2、Spring Cloud Config 作为配置中心3、百度 disconf4、携程的AppolloSpring Cloud Config 是由Spring Cloud团队原发,对在微服务架构中各个微服务的配置提供统一管理。
2、Spring Cloud Config
2.1 配置中心主要由两块内容组成Config 服务端:1. 也成为分布式配置中心,需要单独搭建这个服务端2. 主要用来连接远程仓库,获取配置信息,并返回给微服务(客户端)Config 客户端:1. 具体需要集中式管理配置的微服务,需要配置连接上Config服务端2. 自动从Config服务端获取配置信息;Config服务端从远程仓库获取配置
3、搭建Config配置中心服务端
3.1 先创建一个Git远程仓库,复制地址3.2 创建项目,添加依赖spring-cloud-config-serverspring-cloud-starter-netflix-eureka-client3.3 创建启动类,添加@EnableConfigServer注解,开启配置中心服务端3.4 application.yml配置端口eureka客户端地址git远程仓库uri、账号、密码服务id3.5 在远程仓库上创建一个文件,存放配置,比如:cinema-member-service-dev.yml最后在浏览器中访问: http://localhost:6001/cinema-member-service-dev.yml就可以在浏览器上看到gitee中文件内容注意:如果浏览器出现 Unsafe 相关提示,页面空白的,说明端口不安全,换一个端口即可
4、Config配置中心客户端开发
5.1 依赖spring-cloud-starter-config5.2 bootstrap.yml配置spring:cloud:config:uri: http://localhost:6001 # 配置中心服务端name: cinema-member-service # git上要访问的配置文件profile: dev # 完整的配置文件 name-dev.ymllabel: master # 分支
