本文主要是介绍Apollo:微服务架构下的配置管理,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
问题背景
在实际工作中,我们的开发环境,测试环境,生产环境对应的 Mysql 数据库,Redis 这些信息都不一样,每个环境都有对应的一套配置,在 Spring Boot 中我们通常会编写多个配置文件,也就是每个环境一个配置文件。
比如:
application-dev.properties
spring.datasource.druid.url=jdbc:mysql://192.168.0.111:3306/xxx
application-test.properties
spring.datasource.druid.url=jdbc:mysql://192.168.0.112:4306/xxx
使用的时候指定使用哪个环境的配置:
java -jar xxx.jar --spring.profiles.active=test
在微服务架构下,服务的数量会比之前的单体应用多,部署的节点数量也会很多。当某些配置发生修改的时候,我们需要重新修改项目中的代码,然后重新发布。当然也可以直接通过上面的 --xxx 方式进行参数的传递,这种方式不好的地方在于项目中的配置跟线上发布的对应不上。
最简单的一个示例,直接修改项目中的配置,然后重新编译,发布,你改一次配置至少得10来分钟。对于某些活动的应用配置,可能在某个时候突然需要进行紧急修改,这样一来就被时间耽误了事情。
最好的办法是使用配置中心来集中管理配置,可以做到配置修改立马更新到客户端,只要1秒钟就可以搞定配置的修改,优势很明显。
这篇关于Apollo:微服务架构下的配置管理的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!