一.nacos的下载安装.
1.打开nacos官网nacos.io
下一步点击view in GitHub进到一下页面,点击releases(发行的版本)
进入下图页面
zip格式的为window版本.下载到本地解压,然后进入到bin目录下双击运行startup.bat即可启动,启动之前需要配置好java的环境变量.默认端口是8848,出现下图则启动成功.
输入控台红色框里面的网址即可访问.http://localhost:8848/nacos/index.html
如果需要修改端口号和项目的访问路径,可在解压目录下的conf/application.properties里面修改如下配置
二.nacos作为注册中.
1.在pom文件中新增nacos服务注册于发现的依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2.配置文件application.properties新增nacos的配置,并且在启动类上加上注解@EnableDiscoveryClient
server.port=8080
spring.application.name=test2
# nacos注册中心地址
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
重启项目,并刷新http://localhost:8848/nacos/index.html
3.使用namespce注册
namespace的作用个人理解是因为实际开发过程中,可能有多个用户使用同一个注册中心,为了区分这些服务,通过给每个用户分配一个namespace,实现各自使用各自的服务的功能.具体操作如下.
在nacos注册中心的管理页面选择命名空间,然后新建,填入名称和描述,点击确定.
新建完成后页面如下
拷贝命名空间id,在项目的application.properties增加配置
server.port=8080
spring.application.name=test2
# nacos注册中心地址
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848
# nacos名称空间id
spring.cloud.nacos.discovery.namespace=c683424d-13db-419e-b84c-be31ca39d2f6
重启项目,服务只出现在名称为DEV_TEST的名称空间下.
三.nacos作为配置中心.
springcloud开发微服务,成型的一个应用可能会由很多个服务组成,而这些所谓的服务实际上就是一个个的项目,只不过粒度更细,分工更明确而已.这些大量的项目在配置上肯定是存在很多相同的地方.我们可以把这些相同的配置抽取出来,实现公用,一减少配置量.还有就是项目越多,配置文件越分散,不容易维护,如果使用配置中心进行管理,更方便维护等.
具体实现如下:
1.pom文件新增如下依赖
<!--nacos配置中心依赖-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
2.application.properties新增nacos配置中心的配置
############nacos配置中心配置##############
# 配置中心地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
# 名称空间id
spring.cloud.nacos.config.namespace=c683424d-13db-419e-b84c-be31ca39d2f6
# 配置文件类型
spring.cloud.nacos.config.file-extension=properties
# 配置文件的名称
spring.cloud.nacos.config.shared-configs[0].data-id=test.properties
# 是否自动刷新
spring.cloud.nacos.config.shared-configs[0].refresh=true
# 配置文件的分组
spring.cloud.nacos.config.shared-configs[0].group=DEFAULT_GROUP
3.到注册中心的管理页面新增名字叫test.properties的配置文件(上面配置的名字)
点击右边的+新建配置文件.
id是application.properties里面配置的test.properties,配置格式选择properties ,这里简单配置了一个属性spring=123456,点击发布.
只要能读到这个属性,说明配置中心就是ok的.
在项目的test目录下新建测试类进行测试
在使用到配置中心之前要先将application.properties改名成bootstrap.properties否则读取不到配置中心的配置文件(超级大坑)
package com.example.demo;
import org.junit.jupiter.api.Test;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.test.context.SpringBootTest;
@SpringBootTest
class SpringcloudPracticeCustomer1ApplicationTests {
@Value("${spring}")
private String spring;
@Test
void contextLoads() {
System.out.println(spring);
}
}
右键run as ->junit test 控制台输出结果
说明读取配置成功 这样子我们就可以把某些可以把配置文件按照一定的规则配置到配置中心,然后本地的配置只保留nacos的注册中心的配置以及配置中心的配置等很少量的配置.(spring.application.name保留)
到此nacos的简单使用介绍完毕.略显粗浅.奈何我也是刚接触.实力有限.