欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

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

时间:2023-05-13

作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_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应用程序,如网站管理后台,网站会员中心,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。

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

 (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 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


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

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


Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。