Nacos-配置中心

一. Nacos 部署方式

  1. 单机部署:将注册中心、配置中心等功能集成再一个进程内,全部部署在一台机器上,适用于测试和单机试用
  2. 集群模式:多个 Nacos 服务器实例组成一个集群。这些实例通过相互通信和协调工作,共同提供服务注册、配置管理和服务发现等功能。在集群模式下,所有的实例共享相同的数据,数据变更会自动同步到所有的实例中,客户端可以随机选择任意一个实例进行注册和发现服务。
  3. 多集群模式:多集群模式是为了在不同区域网络中进行部署和扩展的需求。在多集群模式中,可以选择将不同的 Nacos 实例组成多个相互独立的集群,每个集群可以拥有自己独立的配置和注册中心,并可以跨集群进行服务注册和发现。多集群模式适用于分布式系统的多区域部署,并可以使用不同的网络和存储设施。每个集群具有独立的数据和配置,但可以通过自定义的同步机制在集群之间共享数据。  

多集群的作用:

  • 不同机房部署:将 Nacos 集群分布在不同的机房,实现异地部署,提高服务的可用性。当单个机房不可用时,通过域名解析可快速切换到另一个机房的服务。
  • 不同运营商部署:跨运营商部署 Nacos 集群,避免单一运营商网络问题导致服务中断。

二、安装与启动

  1. 下载压缩包:从 https://github.com/alibaba/nacos/releases 下载最新编译后的压缩包
  2. 解压压缩包:使用 unzip nacos-server-$version.zip 或者 tar -xvf nacos-server-$version.tar.gz
  3. 进入 Nocos 运行目录:cd nacos/bin
  4. 启动 Nacos 服务:
    #linux/MacOS 单机模式
    sh startup.sh -m standalone 
    #windows 单机模式
    startup.cmd -m standalone

启动成功后就可以使用 http://localhost:8084/nacos 访问 Nacos 的控制台了

集群部署:集群部署说明 (nacos.io)

三、 配置项

3.1 开启控制台授权登录

若不在配置文件中配置,则每个人都可以访问Nacos配置中心,不安全,可以通过以下方式进行配置:

#是否开启权限验证(使用用户密码登录)
nacos.core.auth.enabled=true
#权限验证的类型(目前只支持nacos和 ldap)
nacos.core.auth.system.type=nacos
#默认的token
nacos.core.auth.plugin.nacos.token.secret.key=SecretKey012345678901234567890123456789012345678901234567890123456789
#用户名
nacos.core.auth.server.identity.key=nacos
#密码
nacos.core.auth.server.identity.value=nacos

3.2 配置数据源

Nacos 单机模式默认使用的是内置的嵌入式数据库 Derby 作为数据存储的,但是 Derby 不适合承载生产环境大规模部署,因为它有以下限制:

  • 数据存储容量最大只有 2GB
  • 不支持集群模式下数据的高可用复制
  • 性能和并发能力有限

数据源切换为 MySQL

  1. 安装数据库,版本要求:5.6.5+
  2. 初始化 MySQL 数据库,数据库初始化文件:mysql-schema.sql
  3. 修改 Nacos 安装目录中 conf/application.properties 文件,增加支持 MySQL 数据源配置,添加 MySQL 数据源的 URL、用户名和密码:
    spring.datasource.platform=mysql
    ### Count of DB:
    db.num=1
    ### Connect URL of DB:
    db.url.0=jdbc:mysql://127.0.0.1:3306/nacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true&useUnicode=true&useSSL=false&serverTimezone=UTC
    db.user.0=root
    db.password.0=123456

3.3  配置中心的使用

3.3.1 创建配置信息

  • 命名空间:Nacos 基于命名空间帮助用户逻辑隔离多个命名空间,这可以帮助用户更好的管理测试、语法、生产等环境服务和配置,让每个环境的同一个配置(如数据库数据源)可以定义不同的值
  • Data ID:配置的唯一标识,用于查找配置文件
  • Group:配置分组,用于设置小组信息,例如 DEV_GROUP 开发小组,TEST_GROUP 测试小组

3.3.2 配置中心的使用

注:创建项目时,一定要配置国内源,不然依赖无法加载

Spring Boot 项目使用配置中心,实现步骤:

  1. 项目中添加 nacos-config 依赖
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    </dependency>
  2. 在项目配置文件中设置 Nacos 相关信息
    spring.cloud.nacos.config.username=nacos
    spring.cloud.nacos.config.password=nacos
    spring.cloud.nacos.config.contextPath=/nacos
    #设置配置中心服务端地址
    spring.cloud.nacos.config.server-addr=localhost:8848
    #nacos: 后设置对应id: spring.nacos.demo
    spring.config.import=nacos:spring.nacos.demo
    #设置对应分组
    spring.cloud.nacos.config.group=SIT_GROUP
  3. 使用@Value 注解 和 @RefreshScope 实现配置的读取和自动更新
    @RestController
    //动态刷新配置变量
    @RefreshScope
    public class TestController {
        @Value("${myconfig}")
        public String port;
    
        @GetMapping("/getvalue")
        public String getValue(){
            return port;
        }
    
    }

  • 10
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值