Nacos安装与配置
1.是什么
Nacos是一个更易于构建云原生应用的动态服务发现,配置管理和服务管理中心。
Nacos可以代替Eureka、Config和Bus。Nacos作为服务注册与发现代替Eureka优点在于Nacos不需要手动的去配置注册中心,Nacos还支持AP和CP模式的切换
作为配置中心代替Config和Bus优点在于Nacos不需要直连GitHub,并且可以自动刷新而不需要任何配置,Nacos还自带了负载均衡。
2.Windows单机版安装与配置
1.官网下载:https://github.com/alibaba/nacos/releases/
此处以1.1.4版为例
2.解压安装包,直接运行bin目录下的startup.cmd
如果能看到这个画面说明安装完成。
3.访问地址:localhost:8848/nacos,输入默认账号密码:nacos,nacos
登录成功后的界面
运行可能的报错:以单机模式运行,而配置文件是以集群模式,修改配置文件以单机模式
运行,进入bin目录,使用文本编辑startup.cmd,修改MODE="standalone"即可。
3.微服务注册进Nacos
1.新建项目,在父项目中加入如下依赖
<!--spring cloud alibaba 2.1.0.RELEASE 注意:alibaba的依赖放在springcloud和springboot之后-->
<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>
在本项目中加入如下依赖
<!-- springcloud-alibaba nacos服务注册与发现 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
配置文件注册进nacos的配置
spring:
application:
name: nacos-payment-provider
cloud:
nacos:
discovery:
server-addr: localhost:8848 #配置Nacos地址
最后在主启动类上加上注解@EnableDiscoveryClient;启动成功后,进入nacos的服务列表查看到你的微服务名说明注册成功
4.Nacos作为配置中心
1.新建项目,在pom文件中加入如下依赖
<!-- springcloud-alibaba nacos配置中心 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
<!-- springcloud-alibaba nacos服务注册与发现 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
2.建两个配置文件,一个与Config、Bus一样是bootstrap.yml,一个是application.yml
application.yml配置如下
spring:
profiles:
active: dev
bootstrap.yml配置如下
server:
port: 5566
spring:
application:
name: nacos-config-client
cloud:
nacos:
discovery:
server-addr: localhost:8848 #nacos作为服务注册中心的地址
config:
server-addr: localhost:8848 #nacos作为配置中心的地址
file-extension: yaml #指定配置文件的后缀
同样的,在主启动类上加上注解@EnableDiscoveryClient,并在业务类上加上注解@RefreshScope
3.在Nacos中的配置列表添加配置信息
注意:这里的配置不能乱写,它与前面两个配置文件对应,公式:
s
p
r
i
n
g
.
a
p
p
l
i
c
a
t
i
o
n
.
n
a
m
e
−
{spring.application.name}-
spring.application.name−{spring.profiles.active}.${spring.cloud.nacos.config.file-extension};
完成后运行项目,如果配置没出错的话,配置列表如下
修改下Nacos中的该配置项下的yaml配置文件,再次调用查看配置的接口,就会发现配置已经自动刷新。
5.linux集群版安装与持久化配置见下文