若依cloud-plus(RuoYi-Cloud-Plus)框架(后端)分析

admin2024-05-15  1

文章目录

  • 本文以mysql为例
  • 项目结构图
  • 环境(最起码的配置)
  • 数据库初始化文件位置
  • 配置
  • 服务启动
  • 架构图
  • 框架分析:

本文以mysql为例

官方文档:

项目结构图

RuoYi-Cloud-Plus
├─ ruoyi-api             // api模块
│  └─ ruoyi-api-bom                // api模块依赖管理
│  └─ ruoyi-api-resource           // 资源api模块
│  └─ ruoyi-api-system             // 系统api模块
├─ ruoyi-auth           // 通用模块 [9210]
├─ ruoyi-common         // 通用模块
│  └─ ruoyi-common-alibaba-bom     // alibaba 依赖管理
│  └─ ruoyi-common-bom             // common 依赖管理
│  └─ ruoyi-common-core            // 核心功能模块
│  └─ ruoyi-common-dict            // 字典集成模块
│  └─ ruoyi-common-doc             // 文档集成模块
│  └─ ruoyi-common-dubbo           // dubbo集成模块
│  └─ ruoyi-common-elasticsearch   // ES集成模块
│  └─ ruoyi-common-encrypt         // 数据加解密模块
│  └─ ruoyi-common-excel           // excel集成模块
│  └─ ruoyi-common-idempotent      // 幂等功能模块
│  └─ ruoyi-common-job             // job定时任务集成模块
│  └─ ruoyi-common-json            // json集成模块
│  └─ ruoyi-common-loadbalancer    // 团队负载均衡集成模块
│  └─ ruoyi-common-log             // 日志集成模块
│  └─ ruoyi-common-logstash        // elk日志集成模块
│  └─ ruoyi-common-mail            // 邮件集成模块
│  └─ ruoyi-common-mybatis         // mybatis数据库相关集成模块
│  └─ ruoyi-common-oss             // oss相关集成模块
│  └─ ruoyi-common-prometheus      // prometheus监控
│  └─ ruoyi-common-redis           // redis集成模块
│  └─ ruoyi-common-satoken         // satoken集成模块
│  └─ ruoyi-common-seata           // seata分布式事务集成模块
│  └─ ruoyi-common-security        // 框架权限鉴权集成模块
│  └─ ruoyi-common-sensitive       // 脱敏功能模块
│  └─ ruoyi-common-sentinel        // sentinel集成模块
│  └─ ruoyi-common-skylog          // skywalking日志收集模块
│  └─ ruoyi-common-sms             // 短信集成模块
│  └─ ruoyi-common-social          // 社交三方功能模块
│  └─ ruoyi-common-tenant          // 租户功能模块
│  └─ ruoyi-common-translation     // 通用翻译功能
│  └─ ruoyi-common-web             // web服务集成模块
│  └─ ruoyi-common-websocket       // websocket服务集成模块
├─ ruoyi-example        // 例子模块
│  └─ ruoyi-demo        // 演示模块 [9401]
│  └─ ruoyi-stream-mq   // mq演示模块 [9402]
├─ ruoyi-gateway        // 网关模块 [8080]
├─ ruoyi-modules        // 功能模块
│  └─ ruoyi-gen                    // 代码生成模块 [9202]
│  └─ ruoyi-job                    // 任务调度模块 [9203,9901]
│  └─ ruoyi-resource               // 资源模块 [9204]
│  └─ ruoyi-system                 // 系统模块 [9201]
├─ ruoyi-visual         // 可视化模块
│  └─ ruoyi-monitor                // 服务监控模块 [9100]
│  └─ ruoyi-nacos                  // nacos服务模块 [8848,9848,9849]
│  └─ ruoyi-seata-server           // seata服务模块 [7091,8091]
│  └─ ruoyi-sentinel-dashboard     // sentinel控制台模块 [8718]
│  └─ ruoyi-powerjob-server        // 任务调度控制台模块 [7700]
├─ plus-ui              // 前端框架 [80]
├─ config/nacos         // nacos配置文件(需复制到nacos配置中心使用)
│  └─ sentinel-ruoyi-gateway.json  // sentinel对接gateway限流配置文件
│  └─ seata-server.properties      // seata服务配置文件
│  └─ application.yml              // 所有应用主共享配置文件
│  └─ datasource.yml               // 所有应用共享数据源配置文件
│  └─ ruoyi-auth.yml               // auth 模块配置文件
│  └─ ruoyi-gateway.yml            // gateway 模块配置文件
│  └─ ruoyi-gen.yml                // gen 模块配置文件
│  └─ ruoyi-job.yml                // job 模块配置文件
│  └─ ruoyi-monitor.yml            // monitor 模块配置文件
│  └─ ruoyi-resource.yml           // resource 模块配置文件
│  └─ ruoyi-system.yml             // systen 模块配置文件
│  └─ ruoyi-sentinel-dashboard.yml // sentinel 控制台 模块配置文件
│  └─ ruoyi-xxl-job-admin.yml      // xxljob 控制台 模块配置文件
├─ config/grafana       // grafana配置文件(需复制到grafana使用)
│  └─ Nacos.json                        // Nacos监控页面
│  └─ SLS JVM监控大盘.json               // JVM监控页面
│  └─ Spring Boot 2.1 Statistics.json   // SpringBoot监控页面
├─ sql                  // sql脚本
│  └─ ry-cloud.sql                 // 主sql文件
│  └─ ry-config.sql                // 配置中心sql文件
│  └─ ry-job.sql                   // 任务调度sql文件
│  └─ ry-seata.sql                 // 分布式事务sql文件
├─ docker               // docker 配置脚本
│  └─ nacos                        // nacos配置文件
│  └─ nginx                        // nginx配置文件
│  └─ redis                        // redis配置文件
│  └─ seata                        // seata配置文件
│  └─ deploy.sh                    // 运行脚本
│  └─ docker-compose.yml           // docker编排文件
├─ .editorconfig        // 编辑器编码格式配置
├─ LICENSE              // 开源协议
├─ pom.xml              // 公共依赖
├─ README.md            // 框架说明文件

环境(最起码的配置)

  1. jdk17
  2. mysql 5.7
  3. redis >= 5.X
  4. maven >= 3.8.X
  5. nacos >= 2.X

数据库初始化文件位置

如图,只需要将绿框中的导入即可,其中1,2,3,4分别是一个数据库
若依cloud-plus(RuoYi-Cloud-Plus)框架(后端)分析,在这里插入图片描述,第1张

配置

改掉所有配置文件里的配置项(数据库连接地址,nacos地址,redis地址等配置项)
将对应目录下的配置文件配置到nacos中
若依cloud-plus(RuoYi-Cloud-Plus)框架(后端)分析,在这里插入图片描述,第2张
若依cloud-plus(RuoYi-Cloud-Plus)框架(后端)分析,在这里插入图片描述,第3张

服务启动

  1. 必须启动基础建设: mysql redis nacos
  2. 可选启动基础建设: minio(影响文件上传) seata(影响分布式事务 默认开启) sentinel(影响熔断限流) monitor(影响监控) easyretry(影响定时任务)
  3. 必须启动应用服务: gateway auth system
  4. 可选启动应用服务: resource(影响资源使用 websocket 文件上传 邮件 短信等) gen(代码生成) job(影响定时任务) demo(影响demo使用)

架构图

若依cloud-plus(RuoYi-Cloud-Plus)框架(后端)分析,在这里插入图片描述,第4张

框架分析:

看了一下整体的框架,是由几个工具集合而来的

  1. nacos
  2. gateway
  3. Loadbalancer
  4. Dubbo
  5. Sentinel
  6. Seata
  7. Sa-Token、Jwt
  8. Mybatis-Plus
  9. Hikari
  10. 雪花ID
  11. ElasticSearch、Easy-Es
  12. EasyExcel
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!