Nacos之配置中心使用方法

Nacos既可以作为服务注册中心,也可以作为配置中心,功能相当于Eureka、Zookeeper、Bus;并且Nacos自带负载均衡,引入Nacos依赖里面整合了ribbon,有了ribbon就可以使用RestTemplate进行服务调用。下面是将Nacos作为配置中心的配置方法。

一、下载Nacos

Nacos各版本下载地址

二、运行Nacos

1、找到Nacos下载的文件夹,双击bin目录下面的starup.cmd;
2、打开 Nacos网址:http://localhost:8848/nacos/#/login,端口号为珠穆朗玛峰的高度8848,输入账号密码:nacos

三、配置本地代码

1、引pom


 <dependency>
    <groupId>com.alibaba.cloudgroupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-configartifactId>
dependency>


<dependency>
    <groupId>com.alibaba.cloudgroupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
dependency>

2、引yml

(1) 引入bootstrap.yml

spring:
  profiles:
    active: dev # 表示开发环境
    #active: test # 表示测试环境

(2) 引入application.yml

server:
  port: 3377

#服务的名字
spring:
  application:
    name: nacos-config-client
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #Nacos服务注册中心地址
      config:
        server-addr: localhost:8848 #Nacos作为配置中心地址
        file-extension: yaml #指定yaml格式的配置,读一个yml配置文件,意思是3377去8848上读一个yaml的文件
        group: DEFAULT_GROUP
        namespace: 605fc45d-2288-40d6-b7f4-691fb1483677  #dev命名空间的流水号

bootstrap.yml: 用来程序引导时执行,应用于更加早期配置信息读取,可以使用application.yml中使用到的参数等。
application.yml: 应用程序特有的配置文件,可以用来配置后续各个模块中需使用的公共参数等。
所以bootstrap.yml的执行顺序优先于application.yml

四、配置Nacos

1、打开Nacos中的配置列表

Nacos之配置中心使用方法_第1张图片

2、新建配置

在这里插入图片描述

3、填写配置内容

(1)Date ID 的命名要求:

在这里插入名称图片描述名称+环境+文件后缀
在这里插入图片描述

Nacos之配置中心使用方法_第2张图片
Date ID作用:只有代码中的配置文件组合好之后和Nacos上的Date ID 进行比较,一样才可以访问Date ID 中的内容

(2)Group命名

Nacos之配置中心使用方法_第3张图片

(3)描述自定义;配置格式选择YAML

将上述内容填入到Nacos的配置中:
Nacos之配置中心使用方法_第4张图片

(4) 新建命名空间(可选)

①打开nacos,新建命名空间

Nacos之配置中心使用方法_第5张图片
②选择刚刚新建的命名空间,新建配置:
Nacos之配置中心使用方法_第6张图片
③在后端配置文件中写上namespace的ID
Nacos之配置中心使用方法_第7张图片

五、连接数据库

Nacos自带derby数据库,将Nacos中的derby切换到mysql的方法:
1、打开Nacos/conf/nacos-mysql.sql,将脚本复制到mysql数据库中。
2、修改Nacos/conf/application.properties配置文件
在最下方输入:

nacos.istio.mcp.server.enabled=false

spring.datasource.platform=mysql

db.num=1
db.url.0=jdbc:mysql://localhost:3306/ssm?characterEncoding=utf8&connectTimeout=1000&socketTimeout=3000&autoReconnect=true
db.user=root
db.password=12345

你可能感兴趣的:(SpringCloud,java)