项目简介
本项目是基于Spring Cloud框架构建的系统管理平台,提供全面的微服务架构解决方案。其涵盖用户管理、角色管理、资源管理、网关管理、认证授权等多方面,借助Spring Cloud的强大功能实现服务注册与发现、负载均衡、断路器、分布式配置等,保障系统高可用性与可扩展性。
项目的主要特性和功能
用户管理
- 支持用户的创建、删除、更新和查询操作。
- 依据用户角色动态分配权限,保障系统安全。
角色管理
- 支持角色的创建、删除、更新和查询操作。
- 可为角色分配不同权限资源,实现细粒度权限控制。
资源管理
- 支持资源的创建、删除、更新和查询操作。
- 资源与角色关联,确保仅授权用户可访问特定资源。
网关管理
- 支持动态配置网关路由,实现服务灵活调用。
- 通过Redis实现请求限流,保护后端服务免受过载。
认证授权
- 使用OAuth2协议进行用户认证,保障系统安全。
- 运用JWT(JSON Web Token)进行身份验证和授权,简化认证流程。
监控与日志
- 集成Spring Boot Admin,提供服务监控和管理功能。
- 通过ELK(Elasticsearch, Logstash, Kibana)堆栈实现日志集中管理和分析。
安装使用步骤
先决条件
- Java 8及以上版本
- Maven 3.x
- Docker(可选,用于容器化部署)
开发环境搭建
- 复制代码库(代码库复制命令未提供,请补充)。
- 安装公共库到本地仓库:
bash cd common && mvn install cd auth/authentication-client && mvn install
- 生成IDE配置:
bash mvn idea:idea # 或 mvn eclipse:eclipse
导入对应的IDE进行开发,IDE需安装Lombok插件(很重要,否则IDE会显示编译报错)。
编译 & 启动
- 启动基础服务:
bash cd docker-compose docker-compose -f docker-compose.yml up
或单个启动服务:bash docker-compose up 服务名
服务名如下: - 数据库:mysql
- KV缓存:redis
- 消息中间件:rabbitmq
- 注册与配置中心:nacos
- 日志收集中间件:zipkin-server
- 搜索引擎中间件:elasticsearch
- 日志分析工具:kibana
-
数据可视化工具:grafana
-
创建数据库及表:
- 部分应用有数据库脚本,若启动的应用有数据库的依赖,请初始化表结构和数据后再启动应用。
- docker方式脚本初始化:
bash docker-compose up mysql-init
- 子项目脚本路径一般为:子项目/db
-
应用脚本路径一般为:子项目/应用名/src/main/db
-
启动应用:
bash cd 相关应用目录 mvn spring-boot:run
测试
运行 mvn test
启动测试。
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】