[云原生专题-56]:Kubesphere云治理-操作-分步部署Web业务平台RuoYi Cloud-项目简介

2023-11-09

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

 本文网址: https://blog.csdn.net/HiWangWenBing/article/details/122937375


目录

前言:

第1章 RuoYi简介-若依后台管理框架

1.1 RuoYi官网

1.2 作者对RuoYi的介绍

1.3 RuoYi系统的设计

第2章 主要的功能模块

2.1 官网代码位置

2.2 代码结构

第3章 架构图


前言:

一个微服务的系统,除了docker平台、K8S编排框架、Kubesphere云治理平台之外,还有被治理的业务系统,业务系统是的各种功能,是以微服务的形态存在的,各种微服务按照层次关系,自底向上,又分为中间件、后端业务应用程序、后端业务应用程序,为了更有效的开发前端和后端应用程序,把Web的业务应用与Web软件开发的平台框架分离,业务应用程序关注业务逻辑,平台框架关注Web应用的模块架构、协议栈以及模块之间的通信,RuoYi就是这样的Web软件开发的平台框架,它不涉及具体如医院管理系统、智慧城市等某个特定的业务,它关注的是Web应用程序的架构,它整合了Web应用程序开发中常见框架、特定组件技术,并采用开源的方式进行发布。

第1章 RuoYi简介-若依后台管理框架

1.1 RuoYi官网

介绍 | RuoYi

1.2 作者对RuoYi的介绍

一直想做一款基于Web的后台管理系统,看了很多优秀的开源项目但是发现没有合适自己的。于是利用空闲休息时间开始自己写一套后台系统。如此有了若依管理系统。她可以用于所有的Web应用程序,如网站管理后台网站会员中心CMSCRMOA等等,当然,您也可以对她进行深度定制,以做出更强系统。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。

你可以登录到的官网的演示系统:

登录若依系统

 这是一款基于Web的后台管理系统,是针对几乎所有应用程序都需要的Web网站管理系统。

主要的功能包括:

用户管理:登录到该管理系统的用户账号

角色管理:不同的角色有不同的权限

菜单管理:定制UI管理界面

部门管理:公司的部门定义

岗位管理:公司的岗位定义

字典管理:数据库信息

参数设置:系统参数设置

通知公告:发布公告

日志管理:记录日志

1.3 RuoYi系统的设计

RuoYi是基于 Vue/Element UI 和 Spring Boot/Spring Cloud & Alibaba 前后端分离的分布式微服务架构的软件平台,是一套全部开源的Web服务快速开发平台,毫无保留给个人及企业免费使用。

主要的特点有:

(1)采用前后端分离的模式

  ”前后端分离“已经成为互联网项目开发的基本架构,分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础。

前端关注Html页面的布局、展现、美工,后端关注分布式、业务逻辑。前端通过Ajax调用后端的RestFul API并使用Json数据进行交互,是完全网络间通信。

(2)前端

前端采用微服务部署,采用RuoYi-Vue来实现。

(3)后端

后端采用Spring Boot、Spring Cloud & Alibaba。

Spring框架是Java平台上的一种开源应用框架,提供具有控制反转特性的容器。尽管Spring框架自身对编程模型没有限制,但其在Java应用中的频繁使用让它备受青睐,以至于后来让它作为EJB(EnterpriseJavaBeans)模型的补充,甚至是替补。Spring框架为开发提供了一系列的解决方案,比如利用控制反转的核心特性,并通过依赖注入实现控制反转来实现管理对象生命周期容器化,利用面向切面编程进行声明式的事务管理,整合多种持久化技术管理数据访问,提供大量优秀的Web框架,方便Web开发等等。

SpringBoot基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。从最根本上来讲,Spring Boot就是一些库的集合,它能够被任意项目的构建系统所使用。简便起见,该框架也提供了命令行界面,它可以用来运行和测试Boot应用。框架的发布版本,包括集成的CLI(命令行界面),可以在Spring仓库中手动下载和安装。

SpringCloud 是若干个框架的集合,包括 spring-cloud-config、spring-cloud-bus 等近 20 个子项目,提供了服务治理、服务网关、智能路由、负载均衡、断路器、监控跟踪、分布式消息队列、配置管理等领域的解决方案。

Spring Cloud 通过 Spring Boot 风格的封装,屏蔽掉了复杂的配置和实现原理,最终给开发者留出了一套简单易懂、容易部署的分布式系统开发工具包。

同 Spring Cloud 一样,Spring Cloud Alibaba 也是一套微服务解决方案,包含开发分布式应用微服务的必需组件,方便开发者通过 Spring Cloud 编程模型轻松使用这些组件来开发分布式应用服务。

依托 Spring Cloud Alibaba,您只需要添加一些注解和少量配置,就可以将 Spring Cloud 应用接入阿里微服务解决方案,通过阿里中间件来迅速搭建分布式应用系统。

这幅图是 Spring Cloud Alibaba 系列组件,其中包含了阿里开源组件,阿里云商业化组件,以及集成Spring Cloud 组件。

(4)中间件-Nacos

微服务的注册中心、配置中心选型Nacos。

Nacos 是阿里巴巴的新开源项目,其核心定位是 “一个更易于帮助构建云原生应用的动态服务发现、配置和服务管理平台”。它是微服务核心的服务注册与发现中心,是SpringCloudAlibaba架构中最重要的中间件组件。如下是Nacos的架构。

image

 (4)中间件-Redis

(Redis) 是一个由 Salvatore Sanfilippo 写的 key-value 存储系统,是跨平台非关系型数据库

Redis 是一个开源的使用 ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存、分布式、可选持久性的键值对(Key-Value)存储数据库,并提供多种语言的 API。

Redis这种键值对的存储系统,非常适合用于存放配置信息、用户认证信息等。

(5)中间件 - 流控控制

流量控制框架选型Sentinel,分布式事务选型Seata。

sentinel是面向分布式服务框架的轻量级流量控制框架,主要以流量为切入点,从流量控制,熔断降级,系统负载保护等多个维度来维护系统的稳定性.

Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务,有阿里巴巴与2019年开源。

第2章 主要的功能模块

2.1 官网代码位置

https://gitee.com/y_project/RuoYi-Cloud

2.2 代码结构

com.ruoyi     
├── ruoyi-ui              // 前端框架 [80]      =》 微服务: 前台
├── ruoyi-gateway         // 网关模块 [8080]    =》 微服务:网关
├── ruoyi-auth            // 认证中心 [9200]    =》 微服务:注册
├── ruoyi-api             // 接口模块          
│       └── ruoyi-api-system                          // 系统接口
├── ruoyi-common          // 通用模块
│       └── ruoyi-common-core                         // 核心模块
│       └── ruoyi-common-datascope                    // 权限范围
│       └── ruoyi-common-datasource                   // 多数据源
│       └── ruoyi-common-log                          // 日志记录
│       └── ruoyi-common-redis                        // 缓存服务
│       └── ruoyi-common-security                     // 安全模块
│       └── ruoyi-common-swagger                      // 系统接口
├── ruoyi-modules         // 业务模块
│       └── ruoyi-system                         // 系统模块 [9201]=》微服务:后台
│       └── ruoyi-gen                            // 代码生成 [9202]=》微服务:代码生成
│       └── ruoyi-job                            // 定时任务 [9203]=》微服务:定时
│       └── ruoyi-file                           // 文件服务 [9300]=》微服务:文件
├── ruoyi-visual          // 图形化管理模块
│       └── ruoyi-visual-monitor                 // 监控中心 [9100]=》微服务:监控
├──pom.xml                // 公共依赖

内置模块如:部门管理、角色用户、菜单及按钮授权、数据权限、系统参数、日志管理、代码生成等。在线定时任务配置;支持集群,支持多数据源。这些模块大多数是以微服务的形式发布。

第3章 架构图

(1)系统环境(平台)

  • Java EE 8
  • Servlet 3.0
  • Apache Maven 3

(2)主框架(后端)

  • Spring Boot 2.3.x
  • Spring Cloud Hoxton.SR9
  • Spring Framework 5.2.x
  • Spring Security 5.2.x

(3)持久层(中间件)

  • Apache MyBatis 3.5.x
  • Hibernate Validation 6.0.x
  • Alibaba Druid 1.2.x

(4)视图层(前端)

  • Vue 2.6.x
  • Axios 0.21.0
  • Element 2.14.x

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122937375


本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

[云原生专题-56]:Kubesphere云治理-操作-分步部署Web业务平台RuoYi Cloud-项目简介 的相关文章

随机推荐

  • java 对象多属性排序_java – 按多个属性对对象排序

    我一直在研究一些需要我按三个属性 软件 str 颜色 str 和体积 int 对物体 软饮料 进行分类的东西 我已经研究过 并找到了通过名称 颜色和体积分别订购它们的方法 但有没有办法按三种方式订购它们 我的意思是 例如 假设有四个Soft
  • 用OpenCV-Python制作灯光秀短视频

    老猿Python博文目录 https blog csdn net LaoYuanPython 用OpenCV Python读取摄像头写入视频文件 一 引言 在 https blog csdn net LaoYuanPython articl
  • cucu: a compiler u can understand (part 2)

    原文地址 http blog csdn net roger wong article details 8502477 原文地址 http zserge com blog cucu part2 html 到目前为止 我们已经定义了我们语言的语
  • OpenWrt之U盘SD卡挂载overlay

    官方参考 挂载扩展存储脚本 bin sh 一键脚本挂载rootfs到SD卡 u盘则改mmcblk0p1为sda1 umount dev mmcblk0p1 mkfs ext4 dev mmcblk0p1 F mount dev mmcblk
  • ffmpeg 接收网络流并解码_FFmpeg编程入门系列(1)

    FFmpeg播放器框架 一个完整的播放器框架如下 媒体文件可以是本地文件 也可以是网络流 解复用器主要是分离出音视频包 音视频packet队列 这个是分开设计 为了匹配解复用器之间的速度以及防止网络抖动 音视频解码 主要是把packet数据
  • 14-数据结构-二叉树的创建以及前中后遍历,以及结点和叶子节点的计算(C语言)

    概述 二叉树 这里采用孩子链表存储法 即一个数据域和两个左右孩子指针域 随后递归进行遍历即可 在创建二叉树的时候 先创建各个二叉树结点 这里的结点采用动态分配 因此结点为指针变量 随后 再根据逻辑结构图 手动通过左右指针域 链接到对应位置即
  • 第六篇:数据可视化数据可视化技巧

    作者 禅与计算机程序设计艺术 1 简介 数据可视化 Data Visualization 是指将数据以图表 图像 信息地展示出来 对数据的分析结果 决策过程进行直观呈现 数据可视化是一种快速有效地帮助用户理解和发现数据关系和规律的方法 是理
  • 树莓派 GPIO口控制双色LED灯

    目录 一 首先加载库 二 设置编码规范 三 去除GPIO口警告 四 进行详细编程 五 程序源码 GPIO General Purpose I O Ports 意思为通用输入 输出端口 通过它们可以输出高低电平或者通过它们读入引脚的状态 是高
  • 数据可视化工具的三大类报表制作流程分享

    电脑 pc 移动 大屏三大类型的BI数据可视化报表制作步骤基本相同 差别就在于尺寸调整和具体的报表布局 这对于采用点击 拖拉拽方式来制作报表的奥威BI数据可视化工具来说就显得特别简单 接下来 我们就一起看看不这三大类型的BI数据可视化报表制
  • Android Studio 快捷键使用总结

    http www codeceo com article android studio shortcut html 文介绍了一系列在AndroidStudio中常用的快捷键 希望可以帮助各位在AndroidStudio的使用中更加得心应手
  • 大数据之Shell编程

    1 shell的概述 大数据和全栈工程师为什么要学习shell呢 1 需要看懂运维人员编写的Shell程序 2 偶尔自己会编写一些shell程序来管理集群 提高开发效率 2 shell解析器 1 Linux 提供的 Shell 解析器有 2
  • java基础

    Java数组 数组的访问 数组注意事项 数组的动态初始化 动态初始化的默认值 需求 int sales new int 16 26 36 6 100 int result 0 for int i 0 i
  • [详细的微信授权登陆 demo]

    目录 前言 Java实现微信授权登录的步骤如下 生成授权链接 让用户点击该链接进行授权 可以使用WeixinService的getAuthorizeUrl方法来生成授权链接 其中 redirectUrl是用户授权后跳转的链接 snsapi
  • 基于Ubuntu20.04创建共享文件夹

    提示 文章写完后 目录可以自动生成 如何生成可参考右边的帮助文档 文章目录 前言 什么是共享文件夹 一 怎么创建共享文件夹 1 window设置 2 虚拟机设置 总结 前言 什么是共享文件夹 Ubuntu系统是安装在 VMware 虚拟机中
  • Windows支持诊断工具(MSDT)远程代码执行漏洞(CVE-2022-30190)分析复现/修复

    前言 Microsoft Windows Support Diagnostic Tool MSDT Remote Code Execution Vulnerability对应的cve为CVE 2022 30190 其能够在非管理员权限 禁用
  • 每天几道Java面试题(第二天)

    目录 第二幕 第一场 公司前台 第二场 公司卫生间 友情提醒 背面试题很枯燥 加入一些戏剧场景故事人物来加深记忆 PS 点击文章目录可直接跳转到文章指定位置 第二幕 第一场 公司前台 接待人员埃斯卡莱罗 面试者老王 面试者奥斯卡 奥斯卡 老
  • RabbitMQ消费端限流和发送端TTL(消息存活/过期时间)

    RabbitMQ消费端限流 应用场景 在rabbit listener container 中配置 prefetch属性设置消费端一次拉取多少消息 消费端的确认模式一定为手动确认 acknowledge manual
  • TA-Lib 安装失败

    在Windows下使用python3 6 64bit安装 TA Lib 会失败 原因是ta lib没有64bit的库 TA lib的底层是一个C库 所以你需要从源码编译一个64bit的dll 或者用别人编译好的 https github c
  • 关于Arduino&SSD1306OLED(IIC)显示的学习

    1 前期准备 arduino UNO开发板 OLED 显示屏 导线若干 取模软件zimoV2 2 这里推荐一个在线图片取模软件 http tools clz me 2 引脚接线 OLED 显示屏有四个引脚 分别是 SDA 数据线 SCK 时
  • [云原生专题-56]:Kubesphere云治理-操作-分步部署Web业务平台RuoYi Cloud-项目简介

    作者主页 文火冰糖的硅基工坊 文火冰糖 王文兵 的博客 文火冰糖的硅基工坊 CSDN博客 本文网址 https blog csdn net HiWangWenBing article details 122937375 目录 前言 第1章