VDN 微服务架构搭建篇(二)服务注册与配置中心Nacos
VDN 微服务架构搭建篇(二):服务注册与配置中心 Nacos
本文将介绍如何使用 🔗Spring Cloud Alibaba 和 Nacos 搭建服务注册与配置中心,重点讲解如何实现微服务架构中的服务发现、自动注册、配置管理以及动态配置刷新等功能。通过整合 Nacos 作为服务注册与配置中心,您可以简化服务治理、提高系统的灵活性和可扩展性,同时支持在运行时动态管理和更新配置,确保微服务架构中的各个服务始终保持一致性和高可用性。
1. 什么是 Nacos?
Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service的首字母简称,一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。Nacos 是阿里巴巴开源的一个动态服务发现、配置管理和服务管理平台。它能够以简单的方式实现以下功能:
- 服务注册与发现:通过心跳检测,动态维护服务实例。
- 配置管理:集中式管理应用配置,支持动态刷新。
- 动态 DNS 服务:支持流量调度和服务路由。
2. 环境准备
- 系统版本: Windows 11 企业版 (24H2)
- JDK: 17.0.13 🔗 戳我下载
- MySQL: 8.0.40 🔗 windows安装包
- IDE: IntelliJ IDEA 2024.3.1.1 🔗一键破解最新版
- Spring Cloud Alibaba 版本:2023.0.1.2
- Nacos 版本:2.3.2
3. 安装与启动 Nacos
3.1 下载 Nacos
前往 Nacos 官网 下载 Nacos 2.3.2 的压缩包。网络限制的话,可以点击🔗一键下载
3.2 解压与启动
下载后,解压进入bin目录,如下:
进入cmd,如图所示,输入cmd之后,回车
执行命令,startup.cmd -m standalone,单例模式启动。直接执行startup.cmd默认是集群模式,运行项目会报错
startup.cmd -m standalone
执行成功,效果如下:
3.3 验证启动
访问浏览器地址 http://localhost:8848/nacos
,效果如下:
注意:
nacos在2.2.1版本后默认禁用鉴权,如需开启可参考:Nacos 2.3.2 启用鉴权与 MySQL 数据存储配置
4. 项目整合 Nacos
4.1 VDN 引入Nacos依赖
修改vdn-monitor的pom文件
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.vdn</groupId><artifactId>vdn-parent</artifactId><version>17.0.0</version></parent><artifactId>vdn-monitor</artifactId><packaging>jar</packaging><dependencies><!-- Alibaba Nacos服务发现依赖,用于服务注册和发现 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!-- Alibaba Nacos配置依赖,用于动态配置管理 --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency></dependencies><build><finalName>${project.artifactId}</finalName><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-surefire-plugin</artifactId><configuration><skipTests>true</skipTests></configuration></plugin></plugins></build></project>
4.2 配置 Nacos 服务注册
在 bootstrap.yml
中添加以下配置:
spring:application:name: vdn-monitorcloud:nacos:discovery:# Nacos服务器地址server-addr: localhost:8848username: nacospassword: nacosgroup: vdn# Nacos命名空间namespace: dev17config:server-addr: ${spring.cloud.nacos.discovery.server-addr}username: ${spring.cloud.nacos.discovery.username}password: ${spring.cloud.nacos.discovery.password}namespace: ${spring.cloud.nacos.discovery.namespace}# 配置分组名称group: ${spring.cloud.nacos.discovery.group}# 文件扩展名,指示配置文件格式file-extension: yaml
4.3 启动类注解
在主类上添加 @EnableDiscoveryClient
注解:
/*** 监控中心*/
@EnableAdminServer
@EnableDiscoveryClient
@SpringBootApplication
public class MonitorApplication {public static void main(String[] args) {SpringApplication.run(MonitorApplication.class, args);}}
5. 配置管理
5.1 在 Nacos 中添加配置
- 登录 Nacos 控制台。
- 进入 配置管理 -> 配置列表,点击 新增配置。
- 配置如下:
vdn-monitor.yaml 配置如下
server:port: 9900
5.3 启动vdn-monitor
从日志可以看到,已从nacos获取到端口信息,成功在9900启动
温馨提示:
没生效时,默认是tomcat端口(8080)
nacos服务列表已经注册进来了
再次确认,端口是9900
总结
本文介绍了如何使用 Spring Cloud Alibaba 2023.0.1.2 与 Nacos 2.3.2 实现服务注册与配置管理。通过 Nacos,我们可以轻松构建微服务架构的基础设施,后续将进一步介绍负载均衡与服务熔断的实现。
链接
上一篇:🔗VDN 微服务架构搭建篇(一)核心组件引入与目录结构规划
下一篇:待完善
🔗最新代码已更新