一、作用
早期在开发应用时 ,程序中有一些可能变化的配置项,比如程序端口,连接IP,一些业务相关的参数等,这些参数会在程序运行过程中根据需求动态改动,此时,就会把这些参数写在一个文件中,让程序运行时去动态读取,这样就可以达到配置的效果,这个做法一直在使用,即时到了SpringBoot应用,依然也是提供了配置文件去读取。
到了Spring Cloud时代,微服务时代来领,一个应用可能会有几十个微服务,如果还使用本地配置文件,配置文件数量也会随着增加,多环境的配置使得配置文件数量又增加了几倍,管理起来变成一件难事,另外一个就是改动配置也变成一件工作量繁重的事情。所以需要一个配置管理机制来解决微服务时代的配置文件问题。
二、配置中心技术选型
常见的配置中心有几个:
Apollo(阿波罗)是携程框架部门研发的分布式配置中心,能够集中化管理应用不同环境、不同集群的配置,配置修改后能够实时推送到应用端,并且具备规范的权限、流程治理等特性,适用于微服务配置管理场景。
Nacos是阿里巴巴开发维护的,致力于帮助您发现、配置和管理微服务。Nacos: Dynamic Naming and Configuration Service。
Spring Cloud Config是Spring原生的配置中心,Spring Cloud Config为分布式系统中的外部化配置提供服务器端和客户端支持。使用配置服务器,您可以在中心位置管理所有环境中应用程序的外部属性。Spring环境和PropertySource上的概念在客户端和服务端上是抽象的且对应,因此它们非常适合Spring应用程序,但可以用于以任何语言运行的任何应用程序。当应用程序通过部署管道从开发人员移动到测试人员并进入生产环境时,您可以管理这些环境之间的配置,并确保应用程序在迁移时具备运行所需的一切。服务器存储后端的默认实现使用git,因此它很容易支持配置环境的标记版本,并且可以被用于管理内容的各种工具访问。添加替代实现并将其插入Spring配置很容易。
三、Nacos使用
nacos官网:https://nacos.io/zh-cn/
nacos-server下载:https://github.com/alibaba/nacos/releases