sharesin / ai-cloud-plus

基于SpringBoot SpringCloud & Alibaba.注册中心,配置中心Nacos,统一认证授权使用Redis.流量控制框架Sentinel,分布式事务Seata,搭建的一套分布式微服务架构

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

SpringBoot SpringCloud Alibaba Nacos Sentinel Seata FastJson Mybatis-Plus Swagger

平台简介

  • 采用前后端分离的模式,微服务版本前端。
  • 后端采用Spring Boot、Spring Cloud & Alibaba。
  • 注册中心、配置中心选型Nacos,权限认证使用Redis。
  • 流量控制框架选型Sentinel,分布式事务选型Seata。

系统模块

ai-cloud-parent
├── ai-cloud-gateway         // 网关模块 [8080]
├── ai-cloud-auth            // 认证中心 [9200]
├── ai-cloud-coin            // 币币模块
│       └── ai-cloud-wallet                              // 钱包模块 [9600]
├── ai-cloud-api             // 接口模块
│       └── ai-cloud-file-api                            // 文件接口模块
│       └── ai-cloud-system-api                          // 系统接口模块
│       └── ai-cloud-user-api                            // 用户接口模块
├── ai-cloud-framework       // 核心模块
│       └── ai-cloud-common                              // 通用模块
│       └── ai-cloud-datascope                           // 权限范围
│       └── ai-cloud-datasource                          // 多数据源
│       └── ai-cloud-kafka                               // 消息队列
│       └── ai-cloud-log                                 // 日志记录
│       └── ai-cloud-mail                                // 邮箱模块
│       └── ai-cloud-mybatis                             // 数据库服务
│       └── ai-cloud-redis                               // 缓存模块
│       └── ai-cloud-satoken                             // 权限认证
│       └── ai-cloud-seata                               // 分布式事务
│       └── ai-cloud-security                            // 安全模块
│       └── ai-cloud-sms                                 // 短信模块
│       └── ai-cloud-swagger                             // 系统接口
│       └── ai-cloud-weixin                              // 微信模块
├── ai-cloud-modules         // 后台业务模块
│       └── ai-cloud-system                              // 系统模块 [9201]
│       └── ai-cloud-gen                                 // 代码生成 [9202]
│       └── ai-cloud-job                                 // 定时任务 [9203]
│       └── ai-cloud-file                                // 文件服务 [9300]
├── ai-cloud-visual          // 图形化管理模块
│       └── ai-cloud-monitor                             // 监控中心 [9100]
├── ai-cloud-web             // 用户端模块
│       └── ai-cloud-pay                                 // 支付模块 [9402]
│       └── ai-cloud-resource                            // 资源服务 [9403]
│       └── ai-cloud-user                                // 用户模块 [9401]
├── cloud-admin              //element-ui后台管理 [9091]
├── cloud-mobile             //uin-app+uview-ui移动端[9090] 
├── docker                   // 一键部署
├── icon                     // ui图标
├── sql                      // 数据表
├──pom.xml                   // 公共依赖

后台内置功能

  1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
  2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
  3. 岗位管理:配置系统用户所属担任职务。
  4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
  5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
  7. 参数管理:对系统动态配置常用参数。
  8. 通知公告:系统通知公告信息发布维护。
  9. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  10. 登录日志:系统登录日志记录查询包含登录异常。
  11. 在线用户:当前系统中活跃用户状态监控。
  12. 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。
  13. 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。
  14. 系统接口:根据业务代码自动生成相关的api接口文档。
  15. 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。
  16. 在线构建器:拖动表单元素生成相应的HTML代码。
  17. 连接池监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。

架构图

在线体验

  • 移动端H5
  • 移动端滑块验证码必须要在移动设备上,或者pc端选择手机调试模式下,才能滑动
  • 安卓系统安装包

sql表预览

移动端演示图

后台演示图

项目部署

  1. Docker 环境安装
  • 安装yum-utils包
yum install -y yum-utils 
  • 设置存储库
# 阿里云地址(国内地址,相对更快)
yum-config-manager --add-repo http://mirrors.aliyun.com/docker-ce/linux/centos/docker-ce.repo
  • 安装Docker引擎
yum install docker-ce docker-ce-cli containerd.io
  • 安装完成后,运行下面的命令,验证是否安装成功。
docker version # 查看Docker版本信息
systemctl start docker		# 启动 docker 服务:
systemctl stop docker		# 停止 docker 服务:
systemctl status docker		# 查看 docker 服务状态
systemctl restart docker	# 重启 docker 服务
systemctl enable docker     # 设置开机自动启动
  1. Compose 安装
  • 下载
# 因为Docker Compose存放在GitHub,可能不太稳定。可以通过DaoCloud加速下载
curl -L https://get.daocloud.io/docker/compose/releases/download/1.26.2/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
  • 授权
# 将可执行权限应用于该二进制文件
sudo chmod +x /usr/local/bin/docker-compose
  • 测试
docker-compose --version
  • 卸载
rm /usr/local/bin/docker-compose
  1. Docker 一键部署
  • 项目提供了docker部署,只需要复制jar文件到对应的/docker/cloud目录下。
docker
├── mysql            // 数据库
│       └── db                            // 数据库脚本
│       └── dockerfile                    // mysql dockerfile
├── nacos            // 注册中心/配置中心
│       └── conf                          // nacos 配置文件
│       └── dockerfile                    // nacos dockerfile
├── nginx            // web服务器
│       └── conf                          // nginx 配置文件
│       └── html                          // 打包后的前端ui
│       └── dockerfile                    // nginx dockerfile
├── redis            // 缓存服务
│       └── conf                          // redis 配置文件
│       └── dockerfile                    // redis dockerfile
├── cloud            // 业务模块
│       └── auth                          // 认证中心 dockerfile jar
│       └── gateway                       // 网关模块 dockerfile jar
│       └── modules                       // 业务模块 dockerfile jar
│       └── visual                        // 图形化管理模块 dockerfile jar
│       └── web                           // 用户端模块 dockerfile jar
├── copy.sh                 // 拷贝脚本
├── deploy.sh               // 部署脚本
├── docker-compose.yml      // docker-compose
  • 上传文件到自己的服务器,通过deploy.sh执行命令控制。
#授权
chmod 777 deploy.sh    
sed -i 's/\r$//' deploy.sh

# 开启所需端口
./deploy.sh port

# 启动基础环境(必须)
./deploy.sh base

# 启动程序模块(必须)
./deploy.sh modules

# 关闭所有环境/模块
./deploy.sh stop

# 删除所有环境/模块
./deploy.sh rm

开源

源于开源,回归开源

交流群

QQ群: 加入QQ群 点击按钮入群。

About

基于SpringBoot SpringCloud & Alibaba.注册中心,配置中心Nacos,统一认证授权使用Redis.流量控制框架Sentinel,分布式事务Seata,搭建的一套分布式微服务架构

License:MIT License


Languages

Language:Vue 39.3%Language:Java 34.6%Language:JavaScript 24.3%Language:SCSS 0.9%Language:HTML 0.8%Language:Shell 0.1%Language:Batchfile 0.0%