一、介绍
Nacos是阿里巴巴开源的一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。它是使用java编写。需要依赖java环境。
Nacos作为服务的注册发现中心
1.添加依赖 注册发现的依赖
<!-- nacos 服务注册发现 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
2.在配置文件中 指定Nacos注册发现中心的地址
spring.cloud.nacos.discovery.server-addr: 自己安装的Nacos的地址
Nacos作为服务的配置中心
3..添加依赖 配置中心的依赖
<!-- nacos 配置中心依赖 -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
<!-- 读取bootstrap配置文件 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-bootstrap</artifactId>
</dependency>
4.编写配置文件 bootStrap.yml 不用 application.xxx
5.在 Nacos 的客户端 新建配置
Datald:文件名 写法 有固定的规则
${prefix}-${spring.profiles.active}.${file-extension}
a: ${prefix}:默认取的是Spring.application.name的值,
可以通过spring.cloud.nacos.config.prefix:xxx来指定
b: -${spring.profiles.active}: springboot的环境
配置:spring.profiles.active:dev ==> -dev
如果没有指定环境 默认${prefix}.${file-extension}
c:${file-extension}指定配置文件的类型
两种:properties 或者yaml(yml)
如果不配置:properties ==> .proerties
配置:spring.cloud.nacos.config.file-extension:yml ==> .yml
环境:dev(开发) test(测试) pro(生产)
二、读取配置文件
1.@value(“${key}”) 默认不支持热更新,
必须配合SpringCloud原生注解
@RefreshScope
来支持热更新
2.@Configuration+@ConfigurationProperties(prefix=””)
默认热更新
A.提供set方法 B.属性名和除了前缀之外的名称一致
3.注入 Environment 调用getProperty(“key”)
读取配置优先级:nacos>local
端口8848
- 功能定位:8848端口是Nacos的默认端口,用于服务的注册和发现,以及配置的管理和获取。这是Nacos的核心功能端口,支持微服务架构中的服务间通信和配置共享。
- 使用场景:该端口主要用于客户端、控制台及OpenAPI的HTTP请求。通过8848端口,客户端可以注册服务、发现服务、获取配置信息,以及执行健康检查等操作。
- 版本兼容性:从Nacos的早期版本到最新的2.x版本,8848端口都作为核心功能端口存在。
端口9848
- 功能定位:在Nacos 2.x版本中,新增了9848端口作为管理端口(Management Port)。这个端口主要用于Nacos的管理功能,如查看集群状态、配置管理和服务管理等。
- 使用场景:通过9848端口,用户可以访问Nacos的管理界面,执行一些高级的管理操作。这个端口的引入是为了将管理功能与核心服务发现和配置管理功能分离,提高系统的整体安全性和可维护性。
- 版本变化:在Nacos 2.x版本之前,管理功能可能也通过8848端口进行,但从2.x版本开始,管理功能被明确划分到9848端口。
Nacos端口号:8848、9848,记得在防火墙放行