0.入门
注意
这个配置要长一点,不然启动失败。报错unable to start embedded tomcat等等。
因为这个问题弄了两个小时,无语了。
1.功能
2.IDEA使用Nacos
1.总模块引入总依赖
这个依赖相当于所有springCloudAlibaba的依赖,子模块使用时,只需要引入对应组件的依赖,不需要再写版本号。
2.要用的Nacos的子模块引入Nacos依赖
SpringBoot 2.4版本之后 SpringCloud 2020,需要引入该依赖,才能读取bootstrap文件
3.创建springcloud配置文件bootstrap
添加如下配置
# 注册中心的名字
spring.application.name=member
## 启动环境,nacos会根据环境读不同的配置dataId:member-dev.properties
spring.profiles.active=dev
## nacos server地址
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
## 配置中心文件后缀,默认properties
spring.cloud.nacos.config.file-extension=properties
此配置的作用是,此模块会去Nacos配置中心读文件名为member-dev.properties的文件,作为配置文件。
此配置会覆盖本地配置。
4. 实时刷新
Nacos发布新的配置后,java代码要想检测到配置变换,实时进行更改(不重启项目直接读取到新配置的值),需要加以下注解。
3.Nacos多环境配置
这个配置会覆盖IDEA里的配置文件的配置项。
启动应用时添加这个,即可读取Nacos里的prod结尾的配置文件。
当Nacos里prod配置文件更新时,只会更新到以prod为配置的应用中,以dev为配置的应用不会接收到变化。
4.命名空间
创建命名空间
bootstrap配置命名空间(配置的train为命名空间ID,不是命名空间名称)
5.注册中心
1.引入依赖
<!-- 注册中心-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2.bootstrap配置地址
6.现象
Nacos使用中挂了,其他应用仍然可以正常互相联系。
从应用连接上Nacos那一刻,Nacos会给它其他应用的《通讯录》,每个应用都保存着其他应用的《通讯》方式,所以挂了也能继续使用。