您的位置:首页 > 娱乐 > 八卦 > 怀化网络推广收费标准_广州市又恢复48小时核酸检测_seo服务建议_百度seo推广免费

怀化网络推广收费标准_广州市又恢复48小时核酸检测_seo服务建议_百度seo推广免费

2025/4/20 23:41:19 来源:https://blog.csdn.net/qq_38411796/article/details/145018537  浏览:    关键词:怀化网络推广收费标准_广州市又恢复48小时核酸检测_seo服务建议_百度seo推广免费
怀化网络推广收费标准_广州市又恢复48小时核酸检测_seo服务建议_百度seo推广免费

一、核心组件引入与目录结构规划

简介

本文介绍如何搭建基于 🔗Spring Cloud Alibaba 的微服务架构,包括核心组件 Nacos(服务注册与配置中心)、Sentinel(流量控制与熔断限流)、Seata(分布式事务管理)和 RocketMQ(高性能消息中间件)。通过引入这些组件并明确项目的目录结构,帮助开发者快速构建稳定、高效的微服务系统。

环境准备

  • 系统版本: Windows 11 企业版 (24H2)
  • JDK: 17.0.13 🔗戳我下载
  • MySQL: 8.0.40 🔗 windows安装包
  • IDE: IntelliJ IDEA 2024.3.1.1 🔗一键破解最新版
  • MAVEN: apache-maven-3.9.9
  • spring-boot.version: 3.3.7
  • spring.cloud.version: 2023.0.3
  • SpringCloudAlibaba: 2023.0.1.2 🔗版本说明

温馨提示: 🔗Win10/11彩蛋

Spring Cloud Alibaba VersionSentinel VersionNacos VersionRocketMQ VersionSeata Version
(新)2023.0.3.21.8.82.4.25.3.12.1.0
2023.0.1.31.8.82.4.25.1.42.1.0
2023.0.1.21.8.82.3.25.1.42.0.0

一、创建项目

1.1 创建父工程 vdn-parent


点击create,新窗口打开,效果如下图所示:
在这里插入图片描述

1.2 修改主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"><!-- 指定POM模型版本 --><modelVersion>4.0.0</modelVersion><!-- 父POM配置,继承自Spring Boot的父POM --><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.3.7</version></parent><!-- 项目基本信息 --><groupId>com.vdn</groupId><artifactId>vdn-parent</artifactId><version>17.0.0-SNAPSHOT</version><packaging>pom</packaging><description>VDN 基础框架,主POM文件</description><modules><module>vdn-commons</module><module>vdn-monitor</module><module>vdn-system</module><module>vdn-module</module><module>vdn-gateway</module></modules><!-- 定义项目的属性 --><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><java.version>17</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><spring.cloud.version>2023.0.3</spring.cloud.version><spring.cloud.alibaba.version>2023.0.1.2</spring.cloud.alibaba.version></properties><!-- 管理依赖版本 --><dependencyManagement><dependencies><!-- 引入Spring Cloud依赖管理 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring.cloud.version}</version><type>pom</type><scope>import</scope></dependency><!-- 引入Spring Cloud Alibaba依赖管理 --><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><dependency><groupId>com.vdn</groupId><artifactId>vdn-dependencies</artifactId><version>${project.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><!-- 项目直接依赖 --><dependencies><!-- 引入Spring Cloud Bootstrap启动器 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-bootstrap</artifactId></dependency></dependencies><!-- 配置Maven仓库 --><repositories><repository><id>public</id><name>aliyun nexus</name><url>https://maven.aliyun.com/repository/public/</url><releases><enabled>true</enabled></releases></repository></repositories><pluginRepositories><pluginRepository><id>public</id><name>aliyun nexus</name><url>https://maven.aliyun.com/repository/public/</url><releases><enabled>true</enabled></releases><snapshots><enabled>false</enabled></snapshots></pluginRepository></pluginRepositories><!-- 构建配置 --><build><plugins><!-- Maven依赖插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-dependency-plugin</artifactId></plugin><!-- Maven源码插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-source-plugin</artifactId></plugin><!-- Maven编译插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><configuration><source>${java.version}</source><target>${java.version}</target></configuration></plugin></plugins></build></project>
1.3 新增权限管理模块(vdn-system)

vdn-system 是一个权限管理模块,旨在为企业提供高效、灵活的权限管理解决方案。系统采用模块化设计,主要功能包括 菜单管理数据字典用户管理角色管理用户授权。整体结构清晰,扩展性强,包含以下模块:

  • vdn-system
    系统的父工程,作为项目的核心框架,负责模块依赖的统一管理与协调。

  • vdn-system-api
    公共 API 模块,提供标准化的接口,供外部系统或模块调用,支持数据共享和功能复用。

  • vdn-system-biz
    业务处理模块,主要负责权限管理相关的核心业务逻辑,例如用户权限分配、角色管理和菜单配置等。

目录结构

vdn-system
├── vdn-system-api
│   ├── src
│   └── pom.xml
├── vdn-system-biz
│   ├── src
│   └── pom.xml
└── pom.xml

通过这些模块的协作,vdn-system 提供了强大的权限管理功能,能够灵活适配各种业务场景,满足企业在用户管理、角色分配、权限控制等方面的需求。

1.4 新增服务监控模块(vdn-system)

vdn-monitor 结合了 Spring Boot Actuator 的基础监控能力、Nacos 的服务治理与配置管理功能,以及 Spring Boot Admin 的可视化监控,构建了一个功能强大的系统监控模块。它的设计注重实时性和易用性,为系统管理员提供了全面的应用运行状态跟踪工具,同时支持分布式环境下的服务管理和配置变更。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-SNAPSHOT</version></parent><artifactId>vdn-monitor</artifactId><packaging>jar</packaging><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-actuator</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId></dependency><dependency><groupId>de.codecentric</groupId><artifactId>spring-boot-admin-starter-server</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>
1.5 新增服务模块集合(vdn-module)

目录结构

vdn-module
├── vdn-seata
│   ├── src
│   └── pom.xml
└── pom.xml

vdn-module 是一个父模块,用于统一管理其子模块,其中的 vdn-seata 模块基于 Seata 框架,专注于解决微服务架构中的分布式事务问题。通过整合 Seata 的核心功能,如事务自动回滚、事务隔离与一致性保障,vdn-seata 实现了对分布式系统中复杂事务场景的高效管理,为系统提供了可靠的数据一致性支持,是微服务架构下关键的事务管理组件。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-SNAPSHOT</version></parent><artifactId>vdn-module</artifactId><packaging>pom</packaging><modules><module>vdn-seata</module></modules></project>
1.6 新增网关模块(vdn-gateway)

vdn-gateway 是基于 Spring Cloud Gateway 实现的微服务网关模块,负责整个系统的流量管理与请求分发。它通过请求路由、负载均衡、限流熔断、鉴权过滤等功能,在微服务架构中充当统一入口,保障服务的安全性、稳定性和高效性。同时,vdn-gateway 支持全链路日志与监控功能,帮助开发者快速定位问题并优化系统性能,是系统稳定运行的核心组件。

<?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-SNAPSHOT</version></parent><artifactId>vdn-gateway</artifactId><packaging>jar</packaging><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>
1.7 新增依赖版本管理模块(vdn-dependencies)

vdn-dependencies 用于集中管理项目中的依赖和版本信息,确保依赖配置的统一性;

<?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><groupId>com.vdn</groupId><artifactId>vdn-dependencies</artifactId><packaging>pom</packaging><version>17.0.0-SNAPSHOT</version><properties><maven.compiler.source>17</maven.compiler.source><maven.compiler.target>17</maven.compiler.target><java.version>17</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding><project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding><knife4j.version>4.3.0</knife4j.version></properties><dependencyManagement><dependencies><dependency><groupId>com.vdn</groupId><artifactId>vdn-commons-swagger</artifactId><version>${project.version}</version></dependency><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-openapi3-jakarta-spring-boot-starter</artifactId><version>${knife4j.version}</version></dependency><dependency><groupId>com.github.xiaoymin</groupId><artifactId>knife4j-gateway-spring-boot-starter</artifactId><version>${knife4j.version}</version></dependency></dependencies></dependencyManagement></project>
1.8 新增公共模块(vdn-commons)

目录结构

vdn-commons
├── vdn-commons-swagger
│   ├── src        # Swagger 功能实现代码
│   └── pom.xml    # Swagger 模块配置
└── pom.xml        # 父工程配置

vdn-commons 是一个通用模块的父工程,旨在为项目提供公共功能支持和依赖管理。vdn-commons-swagger 集成了 Swagger 功能,能够自动生成 RESTful API 文档,为接口开发和测试提供便利。通过这两个子模块,vdn-commons 有效提升了项目的可维护性和开发效率。

完整目录

vdn-parent
├── .idea                 # IntelliJ IDEA 配置
├── vdn-commons           # 公共模块
│   └── vdn-commons-swagger       # Swagger 集成模块
├── vdn-dependencies  # 依赖版本管理模块
├── vdn-gateway           # 网关模块
│   ├── src               # 业务逻辑代码
│   └── pom.xml           # Maven 配置文件
├── vdn-module            # 功能模块
│   └── vdn-seata         # 分布式事务管理模块
│       └── pom.xml
├── vdn-monitor           # 服务监控模块
│   ├── src
│   └── pom.xml
├── vdn-system            # 系统管理模块
│   ├── vdn-system-api    # 公共 API 模块
│   └── vdn-system-biz    # 业务处理模块
│       └── pom.xml
├── .gitignore            # Git 忽略文件配置
└── pom.xml               # 父工程配置文件

技术亮点

  • 模块化设计:分层清晰,职责明确,便于后续扩展与维护。
  • 分布式支持:通过 Nacos 和 Seata 实现服务注册发现与分布式事务管理。
  • 统一网关vdn-gateway 作为统一入口,保障了系统的安全性和稳定性。
  • 高效监控vdn-monitor 提供实时监控,便于问题定位和系统优化。
  • 开发规范:依赖集中管理,API 文档统一,提升了开发效率与可维护性。

总结

vdn-parent 工程通过结合 Spring Cloud 全家桶及相关技术栈,构建了一套完整的微服务解决方案。它涵盖了从基础设施、服务管理到业务处理的全链路支持,为企业级应用的开发、部署和运维提供了强有力的技术保障。

链接

上一篇:🔗企业微服务架构的最佳选择:为什么是 Spring Cloud Alibaba?
下一篇:🔗VDN 微服务架构搭建篇(二)服务注册与配置中心Nacos

🔗最新代码已更新

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com