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

news2024/11/13 11:52:27

文章目录

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

本文以mysql为例

官方文档:

https://plus-doc.dromara.org/#/ruoyi-cloud-plus/home

项目结构图

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分别是一个数据库
在这里插入图片描述

配置

改掉所有配置文件里的配置项(数据库连接地址,nacos地址,redis地址等配置项)
将对应目录下的配置文件配置到nacos中
在这里插入图片描述
在这里插入图片描述

服务启动

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

架构图

在这里插入图片描述

框架分析:

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

  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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1677852.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

霸道龙尊短视频:成都鼎茂宏升文化传媒公司

霸道龙尊短视频:龙族的传奇与现代的交融 在数字化时代的浪潮中,短视频以其短小精悍、内容丰富的特点,迅速占领了人们的碎片时间。成都鼎茂宏升文化传媒公司而在这些短视频中,一股独特的“霸道龙尊”风潮正在悄然兴起,…

JavaScript基础(七)

isNaN //用来判断一个变量是不是一个非数字 不是来判断是不是number类型&#xff0c;而是判断当前值能不能转为number类型&#xff0c;OK&#xff1f;懂了。 还有同学不明白&#xff0c;来看实例: <script> //isNaN(非数字)→true &#xff08;数字&#xff09;→fal…

实战| 手把手教你实现俯卧撑实时计数:OpenCV+MediaPipe

《博主简介》 小伙伴们好&#xff0c;我是阿旭。专注于人工智能、AIGC、python、计算机视觉相关分享研究。 ✌更多学习资源&#xff0c;可关注公-仲-hao:【阿旭算法与机器学习】&#xff0c;共同学习交流~ &#x1f44d;感谢小伙伴们点赞、关注&#xff01; 《------往期经典推…

No Cortex-M SW Device Found

将DIO和CLK管脚调换一下

从0到1,百亿级任务调度平台的架构与实现

尼恩&#xff1a;百亿级海量任务调度平台起源 在40岁老架构师 尼恩的读者交流群(50)中&#xff0c;经常性的指导小伙伴们改造简历。 经过尼恩的改造之后&#xff0c;很多小伙伴拿到了一线互联网企业如得物、阿里、滴滴、极兔、有赞、希音、百度、网易、美团的面试机会&#x…

深度学习面试问题 | 降维

本文给大家带来的百面算法工程师是深度学习降维面试总结&#xff0c;文章内总结了常见的提问问题&#xff0c;旨在为广大学子模拟出更贴合实际的面试问答场景。在这篇文章中&#xff0c;我们还将介绍一些常见的深度学习面试问题&#xff0c;并提供参考的回答及其理论基础&#…

免费/低价服务资源的使用经验谈

互联网之所以吸引人的其中一个原因就是“免费”&#xff0c;不过免费却不好用的话&#xff0c;我想也不入多数人的法眼。如果可以给予少量的费用却有不错的服务资源&#xff0c;那么也是最好不过的事情。现在就让我们看看互联网有哪些免费或者低价的开发服务器资源。 首先列出…

C++自定义脚本文件执行

FunctionCall.h&#xff1a; #include <sstream> #include <string> #include <vector> // 函数调用 class FunctionCall { public: FunctionCall(); ~FunctionCall(); std::string call(const st…

MySQL数据库从入门到精通(下)

对表做了修改之后&#xff0c;记得点击对应图标按钮重新执行一下。 1.创建角色表 数据库一开始就要设计好&#xff0c;轻易不要改动。一个账号下可能有多个角色&#xff0c;所以我们单独再创建另一个表role用来存储所有的角色信息。其中idrole表示角色id&#xff0c;name表示名…

【Linux】进程间通信(一)---- 匿名管道

【Linux】进程间通信&#xff08;一&#xff09;---- 匿名管道 一.序1什么是进程间通信2.进程间通信的标准3.为什么需要进程通信 二.匿名管道1.原理2.使用3.四种情况4.五个特点 一.序 1什么是进程间通信 进程间通信 通信我们大致知道是啥&#xff0c;就是互相传递信息 那进程…

探索智慧生活:百度Comate引领人工智能助手新潮流

文章目录 百度Comate介绍1. 什么是百度Comate&#xff1f;主要特点 2. Comate的核心功能智能问答功能语音识别功能语音助手功能个性化服务 3. Comate 支持哪些语言&#xff1f; 使用教程(以vscode为例)1. 下载和安装Comate3. 常用操作快捷键(windows) 使用体验自然语言生成代码…

【全开源】国际版JAVA多商户运营版商城系统源码地摊兄源码多商户源码社交电商源码支持Android+IOS+H5

国际版多商户运营版商城系统&#xff1a;打造全球电商新生态 随着全球化趋势的深入发展&#xff0c;跨境电商已成为推动世界经济增长的重要力量。为了满足不同国家、地区商户的多样化需求&#xff0c;我们隆重推出“国际版多商户运营版商城系统”&#xff0c;旨在为全球商户搭…

天锐绿盾 | 如何防止电脑内文件遭到泄露?

天锐绿盾是一款专为企业设计的数据防泄漏软件系统&#xff0c;它通过一系列综合性的安全措施来有效防止电脑内文件遭到泄露。 PC地址&#xff1a; https://isite.baidu.com/site/wjz012xr/2eae091d-1b97-4276-90bc-6757c5dfedee 以下是天锐绿盾防止文件泄露的主要功能和方法&a…

性价比王者HUSB237,极简PD Sink的“瘦身秘籍”

在小型化、高集成的要求下&#xff0c;慧能泰取电芯片进行技术升级后“瘦身成功”&#xff0c;推出最新一代极具性价比的最简PD Sink取电芯片——HUSB237。 图1&#xff1a;HUSB237 demo及封装图 HUSB237 是一款极具性价比的最简PD Sink取电芯片&#xff0c;支持PD3.1协议包含…

IT行业的现状、未来发展趋势及无限可能

不可能的可能 一、引言二、IT行业的现状三、IT行业的未来发展趋势四、结语 一、引言 在全球化浪潮的推动下&#xff0c;IT行业正以前所未有的速度发展&#xff0c;成为推动全球经济和社会进步的重要引擎。云计算、大数据、人工智能、物联网、5G通信和区块链等技术的不断涌现&am…

【软考】设计模式之组合模式

目录 1. 说明2. 应用场景3. 结构图4. 构成5. 优点6. 缺点7. java示例 1. 说明 1.将对象组合成树型结构以表示“部分-整体”的层次结构。2.Composite使得用户对单个对象和组合对象的使用具有一致性。3.组合模式&#xff08;Composite Pattern&#xff09;是一种结构型设计模式 …

玩转大模型 企业AI着陆新正解 神州问学AI原生赋能平台正式发布

在人工智能技术日新月异的今天&#xff0c;神州数码凭借深厚的行业洞察和技术积累&#xff0c;揭开了AI原生赋能平台——神州问学的神秘面纱。作为企业AI着陆的加速引擎&#xff0c;神州问学致力于通过AI原生场景赋能&#xff0c;为企业开辟一条通往智能未来的坦途。 神州问学—…

【全开源】JAVA城市向导同城达人系统源码支持微信小程序+微信公众号+H5+APP

城市向导同城达人系统&#xff1a;探索城市的新视角 随着城市化进程的加快&#xff0c;人们对于城市的了解和探索需求日益增长。为了满足这一需求&#xff0c;我们精心打造了城市向导同城达人系统&#xff0c;旨在为广大市民和游客提供一个全面、便捷、有趣的城市导览平台。 …

【git】通过JetBrains IDE对git的操作

应该适用于所有jetbrains产品。 一、拉取(pull)代码 上方工具栏-Git-克隆。然后填写git地址与本地存放地址。 二、搁置 修改代码后搁置代码&#xff08;不提交&#xff0c;但是也不撤销已修改的代码&#xff0c;把它暂存起来&#xff09;。 界面的左上角。1->2->3。…

【MIT 6.5840(6.824)学习笔记】分布式系统介绍

1 概念 当我们谈论分布式系统时&#xff0c;我们指的是一组通过网络连接的计算机&#xff0c;它们协同工作以完成某种共同的任务或目标。 在分布式系统中&#xff0c;通信是通过消息传递进行的。这意味着各个计算节点之间通过发送和接收消息来进行通信&#xff0c;而不是通过…