Web应用上云经典架构实践教学

本文涉及的产品
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
云数据库 RDS PostgreSQL,高可用系列 2核4GB
云数据库 RDS MySQL,高可用系列 2核4GB
简介: Web应用上云经典架构实践教学

内容介绍:

一、配置ALB的服务器组和监听

二、验证第一台ets是否有公网能力

三、云数据库rds配置

 

本次进行web应用上云经典架构的实战篇。

image.png


通过链接点进来,勾选已同意,点击开始实操。这时等待几分钟,系统会帮自动创建所需要的资源。当资源创建成功之后,可以通过左侧的云产品资源在可以查看到系统帮创建的这次实验所有需要用到的云产品资源。

image.png

回到操作手册,点击下一页。这是创建资源的介绍,点击下一页,

image.png

先开通云数据传输ctd,找到云数据传输CTD的控制台。

image.png

我的账号显示已开通,如果是第一次使用,是未开通的状态。选择开通可以。跨地域开通状态不影响本次实验,不做讲解。

 

一、配置ALB的服务器组和监听

点击下一页,整个实验的第一步,先配置ALB的服务器组和监听,通过云产品资源列表找到ALB负载均衡,点击管理。

image.png

在右侧会弹到负载均衡的控制界面。

image.png

可以通过此将控制台的界面拉取的宽一点,同时回到操作手册,根据操作手册,需要创建监听,在创建监听之前,看服务器组。

image.png

可以看到系统已经创建完毕所需要的服务器组。编辑后端服务器点进来,可以看到所需要的两台后端服务器已经添加。

image.png

在服务器组中,进行监听的创建。点击实例可以通过创建监听。

image.png 也可以通过ALB的实例进入,在监听页点击创建监听。

image.png

image.png

选择监听协议为HTTP,监听端口为80端口,监听名称可以不写,高级配置,保持默认。点击下一步,在选择服务器,选择刚刚系统创建的服务器组,可以看到后端的服务器在是能够查看到。

image.png

image.png

点击下一步,对配置审核,没有问题之后点击提交,点击“我知道了”,监听创建成功。

 

二、验证第一台ets是否有公网能力

在操作手册点击下一页进行下一步的操作。

image.png

找到云产品资源滚动条向上,找到云服务器ECS 01。点击管理,同时回到操作手册。由于是系统创建的云服务器,所以没有设置密码,第一次使用需要点重置密码。设置密码之后,点击确认修改。

image.png

修改成功后,点击关闭,远程连接,点击立即登录。

image.png

image.png

image.png

输入刚刚设置的密码,登录ecs系统内部。

回到操作手册,复制命令,复制第三点的命令来测试ecs是否有公网能力

image.png

image.png

发现适合阿里云 .com域名能够互通,说明ecs有公网能力,按CTRL c结束。

回到操作手册,点击下一页。这时,需要为第一排云服务器ecs配置环境,复制1.1的命令为第一排ecs安装jdk。

image.png

回到操作手册,复制1.2的命令,验证在GDP的默认安装目录是否已经下载需要用到的JDK软件,可以看到已经有了,说明已经下载成功。

image.png

image.png

回到操作手册,复制1.3.1的命令,修改配置文件。

image.png

按键盘上的大写的字母G来到最后一行,按I进入插入模式之后,另起一行。

image.png

在操作手册当中复制1.3.2的代码粘贴到ecs系统内部的配置文件,

image.png

image.png

粘贴成功之后,按ESC键退出插入模式,再按“:”输入Wq保存并退出。回到命令终端。

image.png

复制1.4的命令,刷新配置文件,没有报错,说明配置成功。

image.png

复制1.5的命令,检查JDK的版本,验证是否安装成功。

image.png

可以看到JDK的版本,说明JDK是配置成功。下载maven,复制2.1的命令。

image.png

回到操作手册,复制2.2的命令。

image.png

解压maven并且移动到指定的目录,回车,执行移动命令,

image.png

在操作手册复制2.2下面的第二个命令来验证是否解压并且移动成功,可以看到目录下面有内容说明移动成功。

image.png

复制2.3的命令创建maven仓库文件夹。

image.png

复制2.4的命令。

image.png

编辑settings配置文件。经过配置文件后,由于需要修改的标签对在54行,可以按54和大写的字母G来到54行的位置。

image.png

可以在右边看到是54行,需要修改的是localrepository标签对,此时他在注释当中,所以不会被系统识别,需要将它移出注释,将光标定位到54行。输入法调成英文状态,连按两次小写的字母d,

image.png

将光标上移两行,还英文输入法状态下,按小写的字母p,这样将localrepository这一行标签队移出注释,它会生效。现在将光标移动到localrepository标签对中,删除原本的路径。在操作手册当中复制需要修改的maven的仓库文件夹的路径。

image.png

选择粘贴,修改本地仓库所在的位置。

image.png

需要去指定maven所下载镜像的镜像位置,先来到2.6,首先要先复制mirrorS标签对的内容。

image.png

回到配置文件中将鼠标下滚,大概到159行,原本的仓库位置,现将它删掉,删除的方法可以一起删多行,方法是在插入模式按ESC,没有插入“insert”单词,说明已经退出插入模式。

image.png

此时要一次性删除7行,将光标定位在之后按键盘上的7,按两次小写的字母dd,这时将这7行一起删除。

要做的将刚刚复制的粘贴进来,注意粘贴到“mirrorS”标签对里面,

image.png

现在需要将光标上移一行,按字母I进到插入模式之后,另起一行在粘贴。

image.png

注意粘贴的是“mirrorS”标签对里面。

image.png

配置完成按ESC退出插入模式,按冒号输入wq保存并退出,回到操作手册。

复制2.8.1的命令。

image.png

按字母I进到插入模式,另起一行。

image.png

image.png

复制2.8.2的命令粘贴在配置文件的最底部。完成之后按esc退出插入模式,按冒号输入wq保存并退出。

image.png

复制2.9的命令,刷新配置文件。

image.png

复制2.10的命令验证,检验maven是否安装成功,看到maven版本说明安装成功。

image.png image.png

复制3.1的命令。下载node,下载完成之后回到操作手册。

image.png

 

复制3.2的命令,创建node的安装目录。

image.png

复制3.3的命令,将node解压到创建的目录当中。

image.png

image.png

复制3.4的命令验证是否解压过去。看到有node说明解压成功。

image.png

复制3.5的命令,创建链接。回车,执行。

image.png

image.png

复制3.6.1的命令,编辑配置文件。点击“I”进到插入模式,另起一行。

image.png image.png

复制3.6.2的代码粘贴到尾部,完成之后按ESC退出插入模式,按冒号输入wq保存并退出。

image.png

复制3.7的命令,刷新配置文件。

image.png

image.png

复制3.8的命令,检查node版本。可以看到node版本自带的npm命令说明安装配置成功,在操作手册点击下一页进行到下一步。

 

三、云数据库rds配置

首先点到云资源产品,找到云数据库rds点击管理,同时回到操作手册。

image.png

第一步需要为数据库创建一个账号,在rds的控制台,找到账号管理,点击创建账号,输入数据库账号,账号类型为高权限账号,为账号设置密码。输入完成后点击确定来创建账号。

image.png

根据手册,进行数据库的创建,点击数据库创建在再点击创建数据库。数据库的名称,统一的输入 ry字符,默认的utf8点击创建。创建成功之后,需要将ecs内容IP加到数据库的白名单当中。

image.png

image.png

image.png

点白名单与安全组。点击添加白名单分组。点击加入ecs内网ip,为分组取一个名称,选中ecs,将它添加到右边,点击确定,此时需要收一个验证码,将验证码输入之后点击确定收取验证码之后,在白名单分组,可看到已经将两台ecs的IP地址加到分组里面。

image.png

复制2.1的命令。为ecs安装git。

image.png

image.png

复制2.2的命令,查看git版本,说明成功。

image.png

复制3.1的命令,通过git下载若依的源码,回到操作手册,此内嵌若依的官网地址,可以通过点击进去官网,点源码地址,找到第一个若依源码下载。

image.png

image.png

可以看到sql文件夹,点进去,里面有两个sql的文件,若依项目所有需要用到的数据库的数据,需要将数据导入到云数据库rds当中,所以界面先保留,回到操作手册。

image.png

复制3.2的命令,验证若依是否在系统下载成功。可以看到若依的文件以及文件夹,说明已经下载。

找到数据库连接池文件。

image.png

image.png

复制4.2的命令,可以看到数据库连接池文件,可以通过cat命令来看数据库连接时文件内容。

image.png

image.png

复制4.3的命令,鼠标往上滚动,在主库数据源框选起来的地方待会需要修改。首先需要修改的第一点是localhost,将此地址修改为云数据库rds的地址,端口号默认不变,ry由于刚刚创建的数据库的名称也叫ry,所以不需要改动,如果刚刚创建的数据库名称不叫ry,需要跟刚刚创建的数据库名称一致。用户名和密码,刚刚创建的用户名叫rut,所以不用修改。Password是密码,需要修改成在云数据库rds当中创建的高权限账号的密码,查看完成之后,回到操作手册进行修改。

image.png

image.png

image.png

image.png

 

复制5.1的命令来到系统里面,按control  l清屏,粘贴复制的命令,进到数据库连接池文件,对localhost修改,光标保留。

image.png

回到操作手册,找到数据库连接,找到rds数据库的内网地址,复制粘贴到原本localhost所在位置。输入完成之后按ESC退出插入模式,输入冒号,输入wq保存并退出。若依的数据库连接池修改完毕,回到操作手册。

image.png

根据操作手册,需要将若依的数据库的数据导入到rds,点击数据库管理,点击登录数据库。输入用户名和密码。

image.png

登录成功后,左侧点数据库实例找到创建的数据库Ry,双击,需要将若依等数据库的SQL语法复制到白框执行,让它创建所需要的数据库以及表。

image.png

来到若依的官网,找到第一个SQL文件,点一键复制,复制成功后回到数据库界面,粘贴,把最后一行的commit删掉,点击执行。

image.png

image.png

出现变更确认,点击直接执行。执行完成之后,进行对第二个SQL文件的语法导入,回到若依的官网,点SQL回到上一层,找到最后一个SQL文件,点一键复制,复制成功后回到数据库。

image.png

在数据库的控制台点击+,将新复制的SQL语法粘贴到此,不需要做任何的修改删除,直接点执行。在变更确认,点直接执行。成功后点刷新,可以看到许多通过语法生成所需要的所有的数据表。返回操作手册进行下一个操作。

image.png

复制7.1的命令,在系统内部粘贴进到若依的目录当中。

image.png

image.png

复制7.2的命令。对若依项目进行编译,并且打成jar包,让它直接运行,等待四五分钟以后看到构建成功,说明已经编译打包成功。对第二台ecs进行操作,第二台ecs操作跟第一台步骤相同,要注意关于比如数据库rds的操作不需要再重复操作,

验证打包好的jar包存在的位置。

image.png

image.png

复制7.2下面的第二个命令来到第一台ets的控台粘贴,可以看到红色若依打包之后的一个jar包,可以直接来运行它。

image.png

复制7.3的命令启动程序,同时在第二台ecs也需要启动相同的程序。

image.png

第二台ECS已经是构建成功的状态运行,可以看到出现的[]表示有任务已经创建。

image.png

可通过7.4的命令jobs复制之后来验证是否有一个正在running若依程序,经验证发现存在,第一台ecs也一样的通过命令来验证。两台ecs都同时运行若依这一个项目,可以来验证高可用。

在验证之前,也可看若依的运行日志。

image.png

image.png

复制7.5的命令。先在第一台ecs粘贴,可以看到第一台ecs当中显示,若依启动成功,再来到第二台ecs粘贴,可以看到第二台ecs的日志当中也显示,若依启动成功,来进行高可用的验证。

回到操作手册,找到ALB负载均衡,点击实例,在实例可看到ALB负载均衡有一个DNS名称,复制DNS名称到浏览器当中进行访问。

image.png

可观察现在已经成功访问到若依网站,并且可以进行一个验证码的刷新。验证码只要可以刷新,说明跟数据库的交互是没有问题的。输入验证码之后,点击登录,登录进来。他提醒你不是初始密码,请你选请修改密码,暂时不修改,整体的项目已经搭建完毕。此时是通过两台ecs同时运行,若依项目通过负载均衡作为统一的入口来进行访问的,接下来模拟其中一台ets服务器如果宕机,程序是否还能正常运行。

回到操作手册,找到语音服务器,将关掉远程连接的标签,点实例,可以在控制台看到现在两台ecs都处于运行中,随便关机,关掉一台。

image.png

由于这一台ecs已经关掉,该ecs网页可以删去。

image.png

回到操作手册,在点刷新,可以看到第二台ecs已经被停止,目前只有一台服务器正在运行当中,再来试着访问若依是否还能成功,回到ALB负载均衡的控制台,再次复制DNS名称,可以另外的起一个标签,粘贴回车,发现还是能够正常的把握,之所以没有让登陆,是因为刚刚已经登陆过,先点取消,不修改密码,可看到能够正常的进行登录的,说明高可用架构已经是验证成功。

以上是本次分享的全部内容。

 

相关实践学习
通义万相文本绘图与人像美化
本解决方案展示了如何利用自研的通义万相AIGC技术在Web服务中实现先进的图像生成。
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
1月前
|
数据采集 监控 API
移动端性能监控探索:iOS RUM SDK 技术架构与实践
阿里云 RUM SDK 作为一款性能体验监控采集工具,可以作为辅助 App 运维的强有力助手,提升您的问题排查效率。
206 13
|
1月前
|
存储 运维 分布式计算
零售数据湖的进化之路:滔搏从Lambda架构到阿里云Flink+Paimon统一架构的实战实践
在数字化浪潮席卷全球的今天,传统零售企业面临着前所未有的技术挑战和转型压力。本文整理自 Flink Forward Asia 2025 城市巡回上海站,滔搏技术负责人分享了滔搏从传统 Lambda 架构向阿里云实时计算 Flink 版+Paimon 统一架构转型的完整实战历程。这不仅是一次技术架构的重大升级,更是中国零售企业拥抱实时数据湖仓一体化的典型案例。
157 0
|
2月前
|
数据采集 运维 数据可视化
AR 运维系统与 MES、EMA、IoT 系统的融合架构与实践
AR运维系统融合IoT、EMA、MES数据,构建“感知-分析-决策-执行”闭环。通过AR终端实现设备数据可视化,实时呈现温度、工单等信息,提升运维效率与生产可靠性。(238字)
|
2月前
|
数据采集 存储 运维
MyEMS:技术架构深度剖析与用户实践支持体系
MyEMS 是一款开源能源管理系统,采用分层架构设计,涵盖数据采集、传输、处理与应用全流程,支持多协议设备接入与多样化能源场景。系统具备高扩展性与易用性,结合完善的文档、社区、培训与定制服务,助力不同技术背景用户高效实现能源数字化管理,降低使用门槛与运维成本,广泛适用于工业、商业及公共机构等场景。
132 0
|
1月前
|
存储 SQL 消息中间件
从 ClickHouse 到 StarRocks 存算分离: 携程 UBT 架构升级实践
查询性能实现从秒级到毫秒级的跨越式提升
|
4月前
|
算法 物联网 定位技术
蓝牙室内定位技术解决方案:核心技术架构与优化实践
本文探讨了蓝牙iBeacon与Lora结合的室内定位技术,分析其在复杂室内环境中的优势与挑战。通过三层架构实现高精度定位,并提出硬件、算法与部署优化方向,助力智慧仓储、医疗等场景智能化升级。
286 0
蓝牙室内定位技术解决方案:核心技术架构与优化实践
|
4月前
|
数据采集 人工智能 安全
开源赋能双碳:MyEMS 能源管理系统的架构与实践价值
在全球碳中和趋势与“双碳”目标推动下,能源管理趋向精细化与智能化。MyEMS是一款基于Python开发的开源能源管理系统,具备灵活适配、功能全面的优势,覆盖工厂、建筑、数据中心等多元场景。系统支持能源数据采集、分析、可视化及设备管理、故障诊断、AI优化控制等功能,提供“监测-分析-优化”闭环解决方案。遵循“国家+省级+接入端”三级架构,MyEMS在重点用能单位能耗监测中发挥关键作用,助力实现能源效率提升与政策合规。开源模式降低了技术门槛,推动“双碳”目标落地。
190 0
|
2月前
|
消息中间件 缓存 监控
中间件架构设计与实践:构建高性能分布式系统的核心基石
摘要 本文系统探讨了中间件技术及其在分布式系统中的核心价值。作者首先定义了中间件作为连接系统组件的"神经网络",强调其在数据传输、系统稳定性和扩展性中的关键作用。随后详细分类了中间件体系,包括通信中间件(如RabbitMQ/Kafka)、数据中间件(如Redis/MyCAT)等类型。文章重点剖析了消息中间件的实现机制,通过Spring Boot代码示例展示了消息生产者的完整实现,涵盖消息ID生成、持久化、批量发送及重试机制等关键技术点。最后,作者指出中间件架构设计对系统性能的决定性影响,
|
2月前
|
前端开发 Java 开发者
MVC 架构模式技术详解与实践
本文档旨在全面解析软件工程中经典且至关重要的 MVC(Model-View-Controller) 架构模式。内容将深入探讨 MVC 的核心思想、三大组件的职责与交互关系、其优势与劣势,并重点分析其在现代 Web 开发中的具体实现,特别是以 Spring MVC 框架为例,详解其请求处理流程、核心组件及基本开发实践。通过本文档,读者将能够深刻理解 MVC 的设计哲学,并掌握基于该模式进行 Web 应用开发的能力。
469 1
|
3月前
|
存储 自然语言处理 前端开发
百亿级知识库解决方案:从零带你构建高并发RAG架构(附实践代码)
本文详解构建高效RAG系统的关键技术,涵盖基础架构、高级查询转换、智能路由、索引优化、噪声控制与端到端评估,助你打造稳定、精准的检索增强生成系统。
734 2