目录
一、原理介绍与架构
nacos是一款优良的,集服务注册与发现和配置于一体的软件系统,即可以作为注册中心也可以作为配置中心。官方的文档介绍的非常好:https://nacos.io/zh-cn/docs/what-is-nacos.html
由于官方介绍非常完善,所以这里仅介绍具体的搭建和接入方式
二、Docker搭建集群版的Nacos
集群搭建的结构:
将使用nginx最为负载均衡和入口,通过mysql做数据持久化
详细内容和代码参看:https://gitee.com/lk0423/docker-compose/blob/master/Linux/nacos/run.md 中的nacos_cluster_v2.0.3的方式部署
三、springcloud接入nacos作为配置中心
1.依赖引入
<!--nacos作为配置中心-->
<!-- https://mvnrepository.com/artifact/com.alibaba.cloud/spring-cloud-starter-alibaba-nacos-config -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
2.配置文件
bootstrap.yml
spring:
cloud:
nacos:
config:
server-addr: 127.0.0.1:8880
username: nacos
password: nacos
3.使用
直接在controller中使用springboot提供的@Value
注解即可。类似下面
@Value("${env.name:default}")
private String envName;
自动刷新
什么是自动刷新
nacos作为注册中心,修改了对应的配置文件后可以不需要重启对应的服务,可以直接生效。
如何开启自动刷新
直接在对应的controller类上提供@RefreshScope
注解即可
四、springcloud接入nacos作为注册中心
1.依赖引入
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
2.配置
先在启动类中添加注解@EnableDiscoveryClient
,开启服务的注册发现
然后在bootstrap.yml文件中的配置如下内容即可
spring:
cloud:
nacos:
discovery:
server-addr: 127.0.0.1:8880
username: nacos
password: nacos