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

网友投稿 276 2022-11-03

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

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

​目录​

​​前言:​​

​​第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应用程序,如​网站管理后台​,​网站会员中心​,​CMS​,​CRM​,​OA​等等,当然,您也可以对她进行深度定制,以做出更强系统。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。

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

​​登录若依系统​​

这是一款基于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。

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的架构。

​(4)中间件-​Redis

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

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

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

​(5)中间件 - 流控控制​

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

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

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

第2章 主要的功能模块

2.1 官网代码位置

​​代码结构

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 8Servlet 3.0Apache Maven 3

​(2)主框架(后端)​

Spring Boot 2.3.xSpring Cloud Hoxton.SR9Spring Framework 5.2.xSpring Security 5.2.x

​(3)持久层(中间件)​

Apache MyBatis 3.5.xHibernate Validation 6.0.xAlibaba Druid 1.2.x

​(4)视图层(前端)​

Vue 2.6.xAxios 0.21.0Element 2.14.x

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

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Java OpenCV利用KNN算法实现图像背景移除
下一篇:脑机接口+元宇宙,养老问题有解了
相关文章

 发表评论

暂时没有评论,来抢沙发吧~