开发者学堂课程【微服务+全栈在线教育实战项目演练(SpringCloud Alibaba+SpringBoot):Nacos 配置中心介绍】学习笔记,与课程紧密连接,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/667/detail/11538
Nacos 配置中心介绍
1、配置中心包括 spring cloud,spring cloud 有个 config 组件,
Spring Cloud 相关基础服务组件
服务发现一Netix Eurekal ( Nacos )
服务调用一Netix Feign
熔断器一Netflix Hystrix
服务网关一Spring Cloud GateWay
分布式配置一Spring Cloud Config ( Nacos )
消息总线一Spring Cloud Bus ( Nacos )
现在用 nacos 替换原生的组件,原生的组件也能使用,nacos 比他更加方便,功能更加强大,效率更加高,所以用 nacos 替换 eureka,替换 config,以下这些内容config 可以做到。
SpringCloudConfig 为分布式系统的外部配置提供了服务端和客户端的支持方案。在配置的服务端您可以在所有环境中为应用程序管理外部属性的中心位置。
客户端和服务端概念上的 Spring Environment 和 PropertySource 抽象保持同步,它们非常适合Spring应用程序,但是可以与任何语言中运行的应用程序- -起使用。
当应用程序在部署管道中从一个开发到测试直至进入生产时,您可以管理这些环境之间的配置,并确保应用程序在迁移时具有它们需要运行的所有内容。
服务器存储后端的默认实现使用 git,因此它很容易支持标记版本的配置环境,并且能够被管理内容的各种工具访问。很容易添加替代的实现,并用 Spring 配置将它们插入。
通俗来说,加入有个 service-edu 模块,就可以做个集群。放的都是相同的内容,每台服务器中都要放置服务,每个服务都有文件,某天数据库内容发生了变化,或者数据库发生了迁移,迁移到另一个服务器上,就需要进行修改,每台服务器中的配置文件都需要修改,如果服务器过多修改起来就很不方便,或者漏改,改错等问题,配置中心就可以避免这种问题,可以直接将一个配置文件放在配置中心中,假如第一台服务器的地址是168.172.1.11,配置中心的地址是:192.168.1.11,可以让所有文件都读取配置中心的文件,读取同一台服务器的文件,只需要配置中心地址改变,就可以改变所有服务的地址,
Spring Cloud Config 包含了 Client 和 Server 两个部分,server 提供配置文件的存储、以接口的形式将配置文件的内容提供出去,client通过接口获取数据、并依据此数据初始化自己的应用。
Spring cloud 使用 git 或 svn 存放配置文件,默认情况下使用git。
现在项目中不再应用 config,而是用 macos 替代 config
2、Nacos 替换 Config
Nacos 可以与 Spring, Spring Boot, Spring Cloud 集成,并能代替Spring Cloud Eureka,Spring Cloud Config。 通过 lacosServer 和 spring-cloud-starter-alibaba nacos- config 实现配置的动态变更。
(1)应用场景
在系统开发过程中,开发者通常会将一些需要变更的参数、 变量等从代码中分离出来独立管理,以独立的配置文件的形式存在。
目的是让静态的系统工件或者交付物(如WAR, JAR包等)更好地和实际的物理运行环境进行适配。配置管理-般包含在系统部署的过程中,由系统管理员或者运维人员完成。配置变更是调整系统运行时的行为的有效手段。
如果微服务架构中没有使用统一配置中心时,所存在的问题:
一配置文件分散在各个项目里,不方便维护
配置内容安全与权限
更新配置后,项目需要重启
Nacos 配置中心:
系统配置的集中管理(编辑、存储、分发)动态更新不重启、回滚配置(变更管理、历史版本管理、变更审计)等所有与配置相关的活动。