当前位置: 首页 > news >正文

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 中添加配置
  1. 登录 Nacos 控制台。
  2. 进入 配置管理 -> 配置列表,点击 新增配置
  3. 配置如下:
    在这里插入图片描述

vdn-monitor.yaml 配置如下

server:port: 9900
5.3 启动vdn-monitor

从日志可以看到,已从nacos获取到端口信息,成功在9900启动
温馨提示: 没生效时,默认是tomcat端口(8080)
在这里插入图片描述
nacos服务列表已经注册进来了
在这里插入图片描述
再次确认,端口是9900
在这里插入图片描述

总结

本文介绍了如何使用 Spring Cloud Alibaba 2023.0.1.2Nacos 2.3.2 实现服务注册与配置管理。通过 Nacos,我们可以轻松构建微服务架构的基础设施,后续将进一步介绍负载均衡与服务熔断的实现。

链接

上一篇:🔗VDN 微服务架构搭建篇(一)核心组件引入与目录结构规划
下一篇:待完善

🔗最新代码已更新


http://www.mrgr.cn/news/83544.html

相关文章:

  • Flutter Xcode 16+ iOS 18.1 使用image_pickers无法弹出选择图片的视图问题
  • 【Rust学习笔记】Rust 的所有权介绍
  • mermaid大全(语法、流程图、时序图、甘特图、饼图、用户旅行图、类图)
  • 【数据结构-堆】力扣1834. 单线程 CPU
  • 在 Linux 下Ubuntu创建同权限用户
  • 算法练习6——统计大写英文字母的个数
  • fisco bcosV3 Table智能合约开发
  • Kotlin 协程基础三 —— 结构化并发(二)
  • SpringBoot错误码国际化
  • Spring MVC简单数据绑定
  • PyQt5按钮类控件Button
  • 信息科技伦理与道德3:智能决策
  • Picocli 命令行框架
  • Virsh虚拟机连接校园网
  • Elasticsearch:使用 Playground 与你的 PDF 聊天
  • 51c~Pytorch~合集5
  • 宝塔面板 php8.0 安装 fileinfo 拓展失败
  • 继续以“实用”指导Pythonic编码(re通配表达式)(2024年终总结2)
  • Android系统定制APP开发_如何对应用进行系统签名
  • LeetCode热题100-环形链表【JavaScript讲解】
  • 补种未成活胡杨
  • 对话新晋 Apache SeaTunnel Committer:张圣航的开源之路与技术洞察
  • HarmonyOS Next系列之华为账号一键登录功能实现(十四)
  • shell脚本回顾1
  • 【Ubuntu 24.04】虚拟机常见问题解决
  • rk3568 内核态OOM内存泄漏memleak使用