# Easy-Admin **Repository Path**: suddenlyyo/Easy-Admin ## Basic Information - **Project Name**: Easy-Admin - **Description**: 基于Spring Cloud的微服务架构系统,采用模块化设计,包含多个业务服务和通用模块,对应的前端见:https://gitee.com/suddenlyyo/Easy-Admin-Template - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-03-07 - **Last Updated**: 2026-04-06 ## Categories & Tags **Categories**: Uncategorized **Tags**: SpringCloud, SpringBoot ## README = Easy-Admin :toc: left :toclevels: 4 :toc-title: 目录 :sectnums: :sectlinks: :source-highlighter: highlight.js :icons: font == 介绍 基于Spring Cloud的微服务架构系统,采用模块化设计,包含多个业务服务和通用模块。 == 功能特性 * **服务注册与发现**:使用 Nacos 实现服务注册与发现 * **服务调用**:通过 OpenFeign 实现服务间调用 * **服务网关**:使用 Spring Cloud Gateway 实现统一的 API 网关 * **配置中心**:使用 Nacos 作为统一配置中心 * **服务保护**:集成 Sentinel 实现流量控制和服务保护 * **链路追踪**:整合 Skywalking 实现分布式请求链路追踪 * **异步处理**:支持 CompletableFuture 和多线程异步处理 * **安全控制**:基于 Spring Security 实现认证授权 * **缓存支持**:支持 Redis 阻塞式和响应式客户端 * **消息队列**:支持多种消息队列(RabbitMQ、Kafka、RocketMQ、ActiveMQ) * **多租户支持**:基于字段级别的多租户架构,实现数据隔离 * **存储服务**:支持多种云存储和本地存储,统一存储接口 == 项目结构 项目采用模块化设计,模块命名遵循以下规则: - **带端口号的模块**:可以独立运行的业务服务模块 - **不带端口号的模块**:供其他模块引用的公共模块 .... Easy-Admin/ ├── docs/ # 项目文档目录 │ ├── architecture/ # 架构设计文档 │ ├── guide/ # 使用指南文档 │ ├── security/ # 安全设计文档 │ └── websocket/ # WebSocket设计文档 ├── nacos/ # Nacos配置导出目录 │ └── nacos_config_export_20260101183438/ # Nacos配置导出文件 ├── scripts/ # 服务启动脚本 │ ├── start-core-services.sh # 核心服务启动脚本 │ └── start-services.sh # 按需启动服务脚本 ├── sql/ # 数据库脚本 │ └── sql/ # 具体的数据库结构和数据脚本 ├── zx-common/ # 通用模块(公共模块) │ ├── zx-common-async/ # 异步处理(公共模块) │ ├── zx-common-core/ # 核心配置(公共模块) │ ├── zx-common-data-permission/ # 数据权限过滤(公共模块) │ ├── zx-common-import-export/ # 导入导出(公共模块) │ ├── zx-common-redis-block/ # Redis 阻塞式客户端(公共模块) │ ├── zx-common-redis-lock-block/ # 分布式锁(公共模块) │ ├── zx-common-redis-reactive/ # Redis 响应式客户端(公共模块) │ ├── zx-common-security/ # 安全组件(公共模块) │ ├── zx-common-tools/ # 工具类(公共模块) │ ├── zx-common-validation/ # 参数校验(公共模块) │ └── zx-common-xxljob/ # XXL-JOB任务调度(公共模块) └── zx-services/ # 业务服务模块 ├── zx-asset-management-15785/ # 资产管理服务(可独立运行) ├── zx-auth-15778/ # 认证服务(可独立运行) ├── zx-common-feign-client/ # Feign客户端(公共模块) ├── zx-common-log/ # 日志处理(公共模块) ├── zx-common-security-block/ # 阻塞式安全组件(公共模块) ├── zx-common-security-reactive/ # 响应式安全组件(公共模块) ├── zx-encryption-service-15784/ # 加密服务(可独立运行) ├── zx-gateway-15775/ # 网关服务(可独立运行) ├── zx-notification-admin-15782/ # 通知管理服务(可独立运行) ├── zx-notification-common/ # 通知系统公共模块(公共模块) ├── zx-notification-consumer-15781/ # 通知消费者(可独立运行) ├── zx-notification-producer-15780/ # 通知生产者(可独立运行) ├── zx-storage-service-15783/ # 存储服务(可独立运行) ├── zx-system-block-15776/ # 系统管理服务(可独立运行) ├── zx-system-reactive-15777/ # 响应式系统服务(预留)(公共模块) ├── zx-task-manager-15779/ # 任务管理服务(可独立运行) └── zx-workflow-service-15786/ # 工作流服务(可独立运行) .... == 核心模块 === 通用模块(zx-common) * **zx-common-core**:核心配置,包含统一返回结果类、全局异常处理、Jackson配置等 * **zx-common-tools**:提供常用的工具类,如ID生成器、Spring上下文工具类等 * **zx-common-validation**:自定义参数校验框架 * **zx-common-security**:安全相关组件,包含登录用户信息模型 * **zx-common-async**:异步处理配置,包含自定义线程池配置 * **zx-common-log**:日志处理配置,提供操作日志和业务操作日志记录功能 * **zx-common-redis-block**:Redis阻塞式客户端封装 * **zx-common-redis-reactive**:Redis响应式客户端封装 * **zx-common-redis-lock-block**:基于Redisson的分布式锁模块,支持编程式和声明式两种方式 * **zx-common-data-permission**:数据权限过滤模块,支持五种数据权限范围 * **zx-common-import-export**:基于EasyExcel的导入导出模块 * **zx-common-xxljob**:XXL-JOB分布式任务调度模块 === 核心服务 * **网关服务(zx-gateway-15775)**:路由转发、权限校验、请求限流、日志记录 * **认证服务(zx-auth-15778)**:用户登录认证、Token签发与校验、刷新令牌处理 * **系统管理服务(zx-system-block-15776)**:用户管理、角色权限管理、菜单管理、部门管理等 * **任务管理服务(zx-task-manager-15779)**:定时任务调度、任务执行监控、任务日志记录 * **通知服务**:多渠道通知发送(站内信、短信、邮件、微信等)、消息队列异步处理 * **存储服务(zx-storage-service-15783)**:支持多种云存储和本地存储,统一存储接口,提供文件上传、下载、删除等功能 * **资产管理服务(zx-asset-management-15785)**:资产全生命周期管理、预算控制、智能告警、采购管理、证照管理 * **工作流服务(zx-workflow-service-15786)**:基于Activiti 7的流程管理,支持流程定义、实例管理、任务管理等 * **加密服务(zx-encryption-service-15784)**:提供数据加密解密功能,支持多种加密算法 * **多租户支持**:基于字段级别的多租户架构,实现数据隔离和租户管理 == 前端项目 * **Web前端地址**:https://gitee.com/suddenlyyo/Easy-Admin-Template.git + 基于Vue3 + Element Plus开发的Web管理界面,与本后端项目配套使用。 * **移动端地址**:https://gitee.com/suddenlyyo/Easy-Admin-Mobile.git + 基于UniApp + Vue3开发的移动端应用,支持H5、小程序、App等多端,与本后端项目配套使用。 == 文档资源 * link:DEVELOPMENT_GUIDE.adoc[开发指南] - 详细的开发规范和项目说明 * link:./zx-services/zx-system-block-15776/DICT_GUIDE.adoc[字典功能使用指南] - 字典功能使用说明 * link:./zx-services/zx-task-manager-15779/TASK_MANAGEMENT.adoc[任务管理说明] - 任务管理功能说明 * link:./zx-services/zx-asset-management-15785/ASSET_MANAGEMENT_GUIDE.adoc[资产管理模块使用指南] - 资产管理模块功能说明 * link:./zx-services/zx-workflow-service-15786/WORKFLOW_GUIDE.adoc[工作流模块使用指南] - 工作流模块功能说明 === 架构设计文档 * link:./docs/architecture/MULTI_TENANCY_PATTERNS.md[多租户实现模式分析] - 多租户实现方案的通用分析 * link:./docs/architecture/MULTI_TENANCY_IMPLEMENTATION.md[当前项目多租户实现方案分析] - 针对本项目的多租户实现方案 * link:./docs/architecture/IMPORT_EXPORT_DESIGN.adoc[导入导出设计] - 数据导入导出功能设计 * link:./docs/architecture/STORAGE_DESIGN.adoc[存储服务设计] - 存储服务架构和实现方案 * link:./docs/architecture/FIXED_ASSET_SYSTEM_DESIGN.md[固定资产管理系统详细设计] - 资产管理系统的详细设计方案 === 使用指南文档 * link:./docs/guide/STARTUP_GUIDE.adoc[服务启动指南] - 服务启动顺序和方法 * link:./docs/guide/CORE_SERVICES_STARTUP.adoc[核心服务启动脚本] - 核心服务启动脚本说明 * link:./docs/guide/JVM_OPTIMIZATION.adoc[JVM优化指南] - JVM参数优化建议 * link:./docs/guide/DATABASE_BACKUP_GUIDE.adoc[数据库备份指南] - 数据库备份策略 === 安全设计文档 * link:./docs/security/CSRF防护设计方案.adoc[CSRF防护设计方案] - CSRF防护实现 * link:./docs/security/XSS防护设计方案.adoc[XSS防护设计方案] - XSS防护实现 === WebSocket设计文档 * link:./docs/websocket/WEBSOCKET_DISTRIBUTED_DESIGN.adoc[WebSocket分布式设计] - WebSocket分布式架构实现 == 快速开始 . **环境准备** .. 安装 JDK 21 .. 安装 MySQL 并导入 sql 目录下的数据库脚本 .. 安装 Redis .. 启动 Nacos 和 Sentinel 控制台 .. 启动 RabbitMQ 或其他消息队列 . **启动服务** .. 可使用脚本启动核心服务: `./scripts/start-core-services.sh` .. 也可按需启动服务: `./scripts/start-services.sh -l` 查看服务列表,然后按需启动 == 详细文档 有关开发规范、部署说明、数据库设计等详细信息,请参阅 link:DEVELOPMENT_GUIDE.adoc[DEVELOPMENT_GUIDE.adoc] == 贡献指南 欢迎提交 Pull Request 和 Issue。请遵循项目代码风格和提交规范。 == 许可证 本项目采用 MIT 许可证。详情请查看 link:LICENSE[LICENSE] 文件。