一.作用:nacos可以最为微服务的注册中心和配置中心(可以自动配置)
二.nacos下载与文档
下载:https://github.com/alibaba/nacos/tags
三.使用
1.注册中心的使用
1)下载之后,解压后,windows系统在安装目录的nacos/bin下运行startup.cmd即可运行nacos的服务注册中心
如果启动报错,还应该修改startup.cmd文件中的内容,把nacos启动模式修改为单机版
set MODE="standalone"
2)向注册中心注册一个,微服务,新建maven工程,pom,yml,启动类,业务类
新建SpringBoot工程,在pom文件添加nacos依赖,yml文件配置信息,启动类上加入
@EnableDiscoveryClient注解,写一个请求进行测试
//pom文件中加入nacos注解
<!--SpringCloud ailibaba nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
//yml配置文件中设置端口号,application,server-addr
server:
port: 9001
spring:
application:
name: nacos-payment-provider
cloud:
nacos:
discovery:
server-addr: localhost:8848
management:
endpoints:
web:
exposure:
include: '*'
3)在http://localhost:8848/nacos,输入用户名和密码(都是nacos)进入
注意:nacos服务必须启动,服务才能注册
出现以下效果,表明服务注册成功,nacos服务正常
2.配置中心的使用
1)在1的基础上,在pom文件中加入新的依赖如下,yml添加信息,在Controllerl类上加入如下信息
//pom文件
<!--nacos-config-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
//yml配置文件,在1基础上加入这个
config:
server-addr: localhost:8848 #Nacos作为配置中心地址
file-extension: yaml #指定需要的格式的配置
//测试的请求
@RestController
@RefreshScope //实现Nacos的动态刷新功能
public class NacosController{
//nacos的配置管理的配置文件中获取配置信息,到我们自己的yml文件中
@Value("${config.info}")
private String configInfo;
@GetMapping("/config/info")
public String getConfigInfo() {
return configInfo;
}
}
2)此时需要在nacos的配置管理新建配置文件,使得能获取配置文件的信息
Data Id=服务名+环境+配置文件的格式
在创建的配置文件的选项卡选择需要配置文件的服务的Data Id,选择对应的配置格式,输入配置内容然后进行创建
3)Group
Group:不同的组获取不同的配置信息,需要在获取配置文件的服务中的yml配置文件中配置组的名字
4)命名空间,不同的命名空间配置不同的配置文件,不同的命名空间可以和我们不同的开发环境对应,开发环境对应开发环境的命名空间,生产环境对应生产环境的命名空间,不同命名空间有自己的配置文件内容。需要在获取配置文件的服务中的yml配置文件中命名空间ID的名字,对应的命名空间的配置文件才能到对应环境的配置文件中