服务注册与发现
1.下载nacos…省略
2.配置并启动nacos…省略
3.搭建工程项目…省略
4.引入maven依赖
注意:版本之间的兼容性,详细可以看springCloudAlibaba github网站。目前用的最新版本2022.0.0.0
springCloudAlibaba github链接: 版本说明
<properties>
<java.version>17</java.version>
<spring-cloud.version>2022.0.0</spring-cloud.version>
<spring-cloud-alibaba.version>2022.0.0.0</spring-cloud-alibaba.version>
</properties>
<!--引入nacos服务注册与发现依赖-->
<dependencies>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
</dependencies>
<!--引入springCloudAlibaba22与springCloud2022依赖-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
5.配置yml
spring:
application:
# 服务名称
name: NacosConsumer8080
cloud:
nacos:
discovery:
# 注册到nacos的服务名 注意22版本需要鉴权
username: nacos
password: nacos
server-addr: 127.0.0.1:8848
配置完成后就可以在nacos管理界面 - 服务列表中看到我们的启动的服务了
6.nacos持久化到mysql
- 新建数据库并执行nacos的conf文件下的mysql-schema.sql文件,执行完成后可以看到一些系列相关的表
- 修改nacos配置文件
- 启动nacos服务
use external storage 说明用的外置数据库
7.搭建nacos集群
- 复制nacos文件夹下conf文件中cluster.conf.example文件并删除.example后缀
- 配置cluster.conf文件
- 复制多个nacos并修改相关配置
- 启动服务
在nacos管理后台可以看到集群状态
8.实现nacos配置中心
- 引入nacos配置中心依赖
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>
- 修改配置文件
根据官方文档需要配置的参数有如下
2.1. 指定服务器名称与连接上nacos
2.2. 配置文件拓展名
ps:新版springcloud默认移除bootstrap的依赖,如需要使用bootstrap文件需自行添加依赖。新版nacos默认直接支持application.yml文件的需要我们直接在该配置文件编写即可。
2.3. 新版需要指定远程配置文件,不然启动报错
解决方法,配置远程文件
# application.yml
spring:
application:
name: NacosProvider8082
cloud:
nacos:
config:
username: nacos
password: nacos
server-addr: 127.0.0.1:8848
file-extension: yml
config:
import: optional:nacos:${spring.application.name}.${spring.cloud.nacos.config.file-extension}
- 实现动态配置并测试
原来远程的配置文件test的值
修改后重新发布配置文件