跟着老侯玩编程 跟着老侯玩编程
首页
  • 基础语法
  • 网络编程
  • 设计模式
  • 基础篇
  • 进阶篇
  • 框架篇
  • Redis
  • Alibaba
  • 课程目录
  • 码农宝典
留言
首页
  • 基础语法
  • 网络编程
  • 设计模式
  • 基础篇
  • 进阶篇
  • 框架篇
  • Redis
  • Alibaba
  • 课程目录
  • 码农宝典
留言
  • Redis

    • 基础环境
    • Redis详解
    • 快速列表
    • 链表
    • 跳跃表
    • 压缩列表
    • Redis配置文件详解
    • Ruby环境
  • SpringCloudAlibaba

    • 微服务-注册中心
    • 微服务-负载均衡
    • 微服务-微服务调用
    • 微服务-Sentinel
    • 微服务-配置中心
      • 快速开始
      • 支持配置的动态更新
      • 支持自定义 namespace 的配置
      • 自定义 Group 的配置
      • 自定义扩展的 Data Id 配置
    • 微服务-网关
  • 分布式
  • SpringCloudAlibaba
舞动的代码
2022-08-30
目录

微服务-配置中心

Nacos 提供用于存储配置和其他元数据的 key/value 存储,为分布式系统中的外部化配置提供服务器端和客户端支持。使用 Spring Cloud Alibaba Nacos Config,您可以在 Nacos Server 集中管理你 Spring Cloud 应用的外部属性配置。

官方地址:https://github.com/alibaba/spring-cloud-alibaba/wiki/Nacos-config

img.png

主流配置中心对比

  • SpringCloud Config 大部分场景结合 git 使用,动态变更还需要依赖 Spring Cloud Bus 消息总线来通过所有的客户端变化。

  • SpringCloud Config 不提供可视化界面

  • Nacos Config 使用长轮询更新配置,一旦配置有变动后,通知 Provider 的过程非常的迅速,从速度上秒杀 SpringCloud 原来的 config 几条街,

img.png

# 快速开始

  1. 启动 Nacos Server。

  2. 启动好 Nacos 之后,在 Nacos 添加如下的配置:

Data ID:    nacos-config.properties

Group  :    DEFAULT_GROUP

配置格式:Properties

配置内容:    user.name=nacos-config-properties
            user.age=90

1
2
3
4
5
6
7
8
9
  1. 引入依赖

创建一个普通的 SpringBoot 项目

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

1
2
3
4
5
  1. 必须使用 bootstrap.properties 配置文件来配置 Nacos Server 地址

# 支持配置的动态更新

nacos config 支持动态感知,配置中心中的配置项变更之后客户端可以立刻(10ms)收到变更信息

# 支持自定义 namespace 的配置

在没有明确指定 ${spring.cloud.nacos.config.namespace} 配置的情况下, 默认使用的是 Nacos 上 Public 这个 namespae。如果需要使用自定义的命名空间,可以通过以下配置来实现:

spring.cloud.nacos.config.namespace=b3404bc0-d7dc-4855-b519-570ed34b62d7
1

# 自定义 Group 的配置

在没有明确指定 ${spring.cloud.nacos.config.group} 配置的情况下, 默认使用的是 DEFAULT_GROUP 。如果需要自定义自己的 Group,可以通过以下配置来实现:

spring.cloud.nacos.config.group=DEVELOP_GROUP
1

该配置必须放在 bootstrap.properties 文件中。并且在添加配置时 Group 的值一定要和 spring.cloud.nacos.config.group 的配置值一致。

# 自定义扩展的 Data Id 配置

Spring Cloud Alibaba Nacos Config 从 0.2.1 版本后,可支持自定义 Data Id 的配置 一个完整的配置案例如下所示:

spring.application.name=opensource-service-provider
spring.cloud.nacos.config.server-addr=127.0.0.1:8848

# config external configuration
# 1、Data Id 在默认的组 DEFAULT_GROUP,不支持配置的动态刷新
spring.cloud.nacos.config.extension-configs[0].data-id=ext-config-common01.properties

# 2、Data Id 不在默认的组,不支持动态刷新
spring.cloud.nacos.config.extension-configs[1].data-id=ext-config-common02.properties
spring.cloud.nacos.config.extension-configs[1].group=GLOBALE_GROUP

# 3、Data Id 既不在默认的组,也支持动态刷新
spring.cloud.nacos.config.extension-configs[2].data-id=ext-config-common03.properties
spring.cloud.nacos.config.extension-configs[2].group=REFRESH_GROUP
spring.cloud.nacos.config.extension-configs[2].refresh=true
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

多个 Data Id 同时配置时,他的优先级关系是 spring.cloud.nacos.config.extension-configs[n].data-id 其中 n 的值越大,优先级越高。

微服务-Sentinel
微服务-网关

← 微服务-Sentinel 微服务-网关→

Theme by Vdoing | Copyright © 2013-2023 冀ICP备16006233号-1
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式
×