[云原生专题-56]:Kubesphere云治理-操作-分步部署Web业务平台RuoYi Cloud-项目简介
Posted 文火冰糖的硅基工坊
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[云原生专题-56]:Kubesphere云治理-操作-分步部署Web业务平台RuoYi Cloud-项目简介相关的知识,希望对你有一定的参考价值。
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客
本文网址: https://blog.csdn.net/HiWangWenBing/article/details/122937375
目录
前言:
一个微服务的系统,除了docker平台、K8S编排框架、Kubesphere云治理平台之外,还有被治理的业务系统,业务系统是的各种功能,是以微服务的形态存在的,各种微服务按照层次关系,自底向上,又分为中间件、后端业务应用程序、后端业务应用程序,为了更有效的开发前端和后端应用程序,把Web的业务应用与Web软件开发的平台框架分离,业务应用程序关注业务逻辑,平台框架关注Web应用的模块架构、协议栈以及模块之间的通信,RuoYi就是这样的Web软件开发的平台框架,它不涉及具体如医院管理系统、智慧城市等某个特定的业务,它关注的是Web应用程序的架构,它整合了Web应用程序开发中常见框架、特定组件技术,并采用开源的方式进行发布。
第1章 RuoYi简介-若依后台管理框架
1.1 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 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
以上是关于[云原生专题-56]:Kubesphere云治理-操作-分步部署Web业务平台RuoYi Cloud-项目简介的主要内容,如果未能解决你的问题,请参考以下文章
[云原生专题-48]:Kubesphere云治理-操作-多租户概念概述
[云原生专题-46]:Kubesphere云治理-安装-在K8S的基础之上快速安装
[云原生专题-49]:Kubesphere云治理-操作-分步部署基于微服务的业务应用 - 基本过程与步骤
[云原生专题-60]:Kubesphere云治理-DevOps-自动化开发与自动化上云部署流程概述
[云原生专题-47]:Kubesphere云治理-安装-在Linux平台上进行单机版安装
[云原生专题-53]:Kubesphere云治理-操作-通过Kubesphere应用商店一键部署微服务应用-消息中间件RabbitMQ的安装与部署