NACOS
1.搭建nacos
网上下载nacos的压缩包,直接解压然后运行bin下的sh startup.sh -m standalone即可
2.访问naocs可视化页面
192.168.112.132:8848/nacos 账号密码为nacos/nacos
3.注册中心
1.maven依赖
idea创建springboot项目时版本比较高,而当前的nacos版本最高为2.2.3.RELEASE,因此需要将springboot的版本降低至和nacos版本一致
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.3.RELEASE</version>
<relativePath/>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.2.3.RELEASE</version>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.2.3.RELEASE</version>
</dependency>
</dependencies>
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Greenwich.SR5</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
2.application.yml
配置nacos的地址与application.name
server:
port: 8070
spring:
cloud:
nacos:
server-addr: 127.0.0.1:8848
application:
name: nacos-provider
3.添加注解
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
@EnableDiscoveryClient
4.项目启动
查看nacos发现有该服务
4.配置中心
1.从配置中心读取配置
新建bootstrap.yml
spring:
cloud:
nacos:
server-addr: 127.0.0.1:8848
config:
server-addr: 127.0.0.1:8848
application:
name: nacos-provider
因为和application.yml重复,application.yml中的spring.cloud可以去掉
2.新建配置文件
dataID的格式如下:
application.name-spring.profile.active.properties 或者
application.name-spring.profile.active.yml
spring.profile.active可以不设置,然后变成了application.name.yml/properties
1.测试
项目中的代码为
使用postman访问,发现可以从配置中心中读取到对应的数据。
2.动态刷新
@RefreshScope放在类上, 动态刷新配置文件中的数据
3.配置多个配置文件
刚才说了dataid的规则,现在配置的配置文件不符合规则如何处理?
修改bootstrap.yml文件,配置多个配置文件
spring:
cloud:
nacos:
server-addr: 127.0.0.1:8848
config:
extension-configs:
- refresh: true
data-id: jdbc.properties
- refresh: true
data-id: test.properties
application:
name: nacos-provider
4.切换命名空间
不同的配置文件作用于不同的环境,生产环境,测试环境等等,需要切换命名空间来切换配置文件 默认为public
在配置中心选择对应的命名空间,然后配置配置文件
启用对应的命名空间 修改bootstrap.yml即可
spring:
cloud:
nacos:
server-addr: 127.0.0.1:8848
config:
namespace: 7ab4e573-9a0a-489d-95a4-18a657d53857
extension-configs:
- refresh: true
data-id: jdbc.properties
- refresh: true
data-id: mysql.properties
application:
name: nacos-provider
5.切换分组
默认都是DEFAULT_GROUP,想要使用其他的分组,修改bootstrap.yml
spring:
cloud:
nacos:
server-addr: 127.0.0.1:8848
config:
namespace: 7ab4e573-9a0a-489d-95a4-18a657d53857
extension-configs:
- refresh: true
group:nacos-provider
data-id: jdbc.properties
- refresh: true
data-id: mysql.properties
application:
name: nacos-provider
|