[toc]

Nacos简介

一个更易于构建云原生应用的动态服务发现,配置管理和服务管理中心

注册中心+配置中心的组合

下载运行

下载地址 -->> https://github.com/alibaba/nacos/releases/tag/1.3.1

解压安装包,直接运行bin目录下的startup.cmd

命令运行成功后直接访问http://localhost:8848/nacos

默认账号密码都是nacos

一、 简单使用

1. maven配置

  • 父pom

    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-alibaba-dependencies</artifactId>
        <version>2.1.0.RELEASE</version>
        <type>pom</type>
        <scope>import</scope>
    </dependency>
    
  • 本模块pom

    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
    </dependency>
    
    <dependency>
        <groupId>com.alibaba.csp</groupId>
        <artifactId>sentinel-datasource-nacos</artifactId>
    </dependency>
    
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    

2. yml配置

server:
  port: 9001

spring:
  application:
    name: nacos-payment-provider
  cloud:
    nacos:
      discovery:
        server-addr: localhost:8848 #配置Nacos地址

management:
  endpoints:
    web:
      exposure:
        include: '*'

3. 主启动类注解

@EnableDiscoveryClient

二、配置中心

1、maven配置

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

2、yml配置

  • bootstrap.yml

    server:
      port: 9052
    
    spring:
      application:
        name: devutil-provider-auth
      cloud:
        nacos:
          discovery:
            server-addr: 127.0.0.1:8848 #Nacos服务注册中心地址
          config:
            server-addr: 127.0.0.1:8848 #配置中心地址
            file-extension: yaml
    
  • application.yml

    spring:
      profiles:
        active: dev  # 指定模式
    

3、nacos规则配置

  • 命名规则为 [服务名]-[dev/prod/test].yaml

三、Nacos集群和持久化配置

1.derby到mysql切换配置步骤

  • 在conf目录下找到sql脚本,执行脚本

  • conf目录下找到application.properties,添加以下配置

    spring.datasource.platform=mysql
    
    db.num=1
    
    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=root
    db.password=1234
    

2.Linux服务器上nacos的集群配置

  • cluster.conf

    192.168.6.21:3333
    192.168.6.22:4444
    192.168.6.23:5555
    

这个IP不能写127.0.0.1,必须是Linux命令hostname -i能够识别的IP

3.修改nginx配置

upstream cluster{                                                        
    server 192.168.6.21:3333;
    server 192.168.6.22:4444;
    server 192.168.6.23:5555;
}	

server{                    
    listen 1111;
    server_name localhost;
    location / {
         proxy_pass http://cluster;                                                  
    }
}

hhhhh