一、Nacos是什么

Nacos是一个注册中心,相当于SpringCloud里面中的Erueka,它也是一个配置中心,相当于SpringCloud里面的Config,他可以将配置文件版本化管理。

二、开启Nacos服务

1、 下载Nacos,下载地址:https://github.com/alibaba/nacos/releases
2、解压后打开/bin/startup.cmd启动
在这里插入图片描述
3、启动后可打开网址http://127.0.0.1:8848/nacos/index.html查看主页,用户名密码默认值为nacos
在这里插入图片描述

二、SpringCloud项目中使用Nacos只作为注册中心

注册中心原理:所有的微服务都注册到这一个注册中心,服务之间就可以相互调用在这里插入图片描述

主要依赖:

<dependencies>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
    </dependencies>

主要配置:

server:
  port: 8081
spring:
  application:
    name: nacos-provide
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848

三、nacos作为配置中心

在Nacos管理页面可以新建配置文件,新建完成后可通过程序读取它
主要配置:

spring:
  application:
    name: nacos-config
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848
      config:
        server-addr: localhost:8848
        file-extension: yml
        prefix: ${spring.application.name}
        namespace: 8e7959fc-60d9-42ed-bc21-a973b08c6f81
server:
  port: 8084

四、持久化

1、初始化数据库

目前Nacos仅支持Mysql数据库,数据库版本为5.6.5+,实测8.0以上也会启动失败
在nacos/conf目录下有一个nacos-mysql.sql的数据库脚本文件,创建数据库会后执行它会生成11张表

2、修改配置文件

在nacos/conf目录下会有一个application.properties的配置文件,在最后加上数据库的配置

spring.datasource.platform=mysql
db.num=1
db.url.0=jdbc:mysql://localhost:3306/mynacos?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=1234

然后重新启动即可,会发现数据会持久化地保存到了数据库
Demo源码:https://github.com/xiaohuoban00/NacosDemo

Q.E.D.


愿你编码半生,归来仍是少年