作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客
本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122940876
目录
第1章 RuoYi Cloud概述
1.1 RuoYi Cloud项目概述
1.2 单机部署的应用程序上云过程中的主要变化
1.3 RuoYi Cloud项目上云,涉及4个方面的主要工作:
(1)有状态的中间件,主要是数据库
(2)无状态的业务相关的微服务(手工制作docker镜像)
(3)微服务应用程序相关的配置文件
(4)网络
第2章 RuoYi Cloud项目业务软件架构
(1)数据库微服务层
(2)应用微服务层
(3)微服务注册层
第3章 从代码层面看RuoYi 支持的微服务
(1)前端服务
(2)后端服务
(3)后端网络
第4章 手工本地化部署的主要步骤
步骤0:前置条件
步骤1: Clone项目代码到本地机器
步骤2:启动nacos服务
步骤3:启动MySQL服务
步骤4:启动Redis
步骤5:启动ruoye程序
第5章 手工上云分步部署的主要步骤
步骤0:前置条件
步骤1: Clone项目代码到本地机器
步骤2:部署中间件数据库
步骤3:微服务管理层
步骤4:部署微服务
步骤5:部署网关
步骤6:部署前端UI
第6章 DevOps自动化部署
6.1 DevOps的整体流程
6.2 DevOps自动化部署的阶段
https://gitee.com/y_project/RuoYi-Cloud
https://blog.csdn.net/HiWangWenBing/article/details/122937375
RuoYi Cloud一款基于Web的后台管理系统,由多个功能模块组成,大都数功能模块是可以划分为一个个独立的微服务,本文并不打算介绍或学习功能模块的使用或代码实现,而是根据该开源项目的源代码,采用微服务部署的方式,把该项目部署到云端。
单机部署的应用程序上云过程中的主要变化如下:
(1)总体
(2)中间件的变化
(3)单个应用程序的变化
(4)网络的变化(最大的变化单机内部进程通信变成了集群内分层的网络通信)
(5)项目和微服务配置的变化
RuoYi Cloud的后台管理系统,需要生成大量的管理数据。
这些数据将存储在数据库微服务中间件中,数据库微服务的代码开发,并不是该项目的一部分,它们将作为第三方代码被集成进RuoYi Cloud系统,所谓集成,并非而动态或静态库文件的方式进行集成,而是以动态微服务的方式集成。这些第三方的微服务,在安装部署的时候,直接取于各自docker hub仓库,而不是RuoYi Cloud项目自身。
RuoYi Cloud后端代码是java语言编写的代码,前端是js代码,因此需要相应的编译环境。
RuoYi Cloud的微服务的目标文件是jar文件,以java基础环境为基础docker镜像,在此基础之上生成新的docker镜像。
生成的多个微服务镜像,可以发布到阿里云的免费的个人仓库中。用于后续的部署。
一旦把镜像发布到镜像仓库中,后续就可以普通的docker镜像的部署方式来部署RuoYi Cloud的微服务了。
备注:
业务相关的微服务之所以是无状态,是因为其数据全部存储在数据库中,并根据数据库的内容,决定应用程序的当前状态。
大多微服务都有自己配置文件,用于对微服务的启动和运行时的行为进行配置和控制。
分为三层:
部署的过程自下而上。
这个过程虽然不是必须的,但通过这个过程起到两个作用:
(1)通过单机版的方式快速熟悉ruoye项目的各个功能组件(各个微服务)
(2)通过比较,感受云上部署与本地单机版部署的区别
(3)便于把本地数据库方便的迁移到部署在云上的数据库
(1)为MySQL数据库安装客户端程序:MySQL Workbench
(2)为Redis数据库安装客户端程序: Visual Studio Code - Code Editing. Redefined
(3)为后台编译安装java编译环境: Visual Studio Code - Code Editing. Redefined
(4)为前台提编译安装node.js编译环境:Download | Node.js
Clone到本地的目的是编译目标文件和获得配置文件。
(1)为MySQL数据库安装客户端程序:MySQL Workbench
(2)为Redis数据库安装客户端程序: Visual Studio Code - Code Editing. Redefined
(3)为后台编译安装java编译环境: Visual Studio Code - Code Editing. Redefined
(4)为前台提编译安装node.js编译环境:Download | Node.js
Clone到本地的目的是编译目标文件和获得配置文件。
(1)clone code:克隆代码
(2) unit test:代码编写与单元测试
(3)build and push:构建镜像
(4)push latest:发布镜像
(5)deploy to dev :部署到开发环境
(6)deploy to production:部署的生产环境
作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客
本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122940876