美文网首页
nacos源码理解(1)一nacos配置中心

nacos源码理解(1)一nacos配置中心

作者: hoob | 来源:发表于2020-05-31 12:38 被阅读0次

    使用spring-cloud-alibaba-nacos-config配置中心:

    启动原理, spring.factories配置启动类(自定义springboot starter都会用到该配置, 默认路径 /META-INF/spring.factories):

    org.springframework.cloud.bootstrap.BootstrapConfiguration=\

    com.alibaba.cloud.nacos.NacosConfigBootstrapConfiguration

    org.springframework.boot.autoconfigure.EnableAutoConfiguration=\

    com.alibaba.cloud.nacos.NacosConfigAutoConfiguration,\

    com.alibaba.cloud.nacos.endpoint.NacosConfigEndpointAutoConfiguration

    org.springframework.boot.diagnostics.FailureAnalyzer=\

    com.alibaba.cloud.nacos.diagnostics.analyzer.NacosConnectionFailureAnalyzer

    1. com.alibaba.cloud.nacos.NacosConfigBootstrapConfiguration

    该类使用@ConditionalOnProperty(name = "spring.cloud.nacos.config.enabled", matchIfMissing = true)注解控制配置中心的开启和关闭, 主要负责加载配置

    并且该类向spring容器注册NacosConfigProperties(nacos配置中心相关的配置)和NacosPropertySourceLocator(nacos的配置探测器, 读取配置属性)

    NacosPropertySourceLocator使用NacosPropertySourceBuilder.ConfigService加载配置的优先级, 本地 > http读取nacos配置中心 > 快照

    共享文件必须是 名称 + 后缀, 不需要特殊处理即可直接读取, 项目自定义的配置文件名称拼接规则:  名称 + 环境 + 后缀

    加载配置总结:

    配置加载顺序: 共享配置 -> 扩展配置 -> 项目配置(包含两个: 1. 项目名+后缀, 2. 项目名+环境+后缀)

    配置使用优先级: 本地指定配置 > 配置中心 -> 本地快照

    配置文件名优先级: NacosConfigProperties.prefix > NacosConfigProperties.name > spring.application.name

    2. com.alibaba.cloud.nacos.NacosConfigAutoConfiguration

    该类向容器注册 NacosContextRefresher, 该类负责刷新配置

    3. com.alibaba.cloud.nacos.endpoint.NacosConfigEndpointAutoConfiguration

    该类注册 NacosConfigEndpoint (actuator端点)和 NacosConfigHealthIndicator(健康检查)

    相关文章

      网友评论

          本文标题:nacos源码理解(1)一nacos配置中心

          本文链接:https://www.haomeiwen.com/subject/lqulzhtx.html