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

本文涉及的产品
云数据库 RDS MySQL,集群系列 2核4GB
推荐场景:
搭建个人博客
RDS MySQL Serverless 基础系列,0.5-2RCU 50GB
RDS MySQL Serverless 高可用系列,价值2615元额度,1个月
简介: 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名称,可以另外的起一个标签,粘贴回车,发现还是能够正常的把握,之所以没有让登陆,是因为刚刚已经登陆过,先点取消,不修改密码,可看到能够正常的进行登录的,说明高可用架构已经是验证成功。

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

 

相关实践学习
2分钟自动化部署人生模拟器
本场景将带你借助云效流水线Flow实现人生模拟器小游戏的自动化部署
7天玩转云服务器
云服务器ECS(Elastic Compute Service)是一种弹性可伸缩的计算服务,可降低 IT 成本,提升运维效率。本课程手把手带你了解ECS、掌握基本操作、动手实操快照管理、镜像管理等。了解产品详情: https://www.aliyun.com/product/ecs
相关文章
|
5天前
|
存储 SQL 监控
转转平台IM系统架构设计与实践(二):详细设计与实现
以转转IM架构为起点,介绍IM相关组件以及组件间的关系;以IM登陆和发消息的数据流转为跑道,介绍IM静态数据结构、登陆和发消息时的动态数据变化;以IM常见问题为风景,介绍保证IM实时性、可靠性、一致性的一般方案;以高可用、高并发为终点,介绍保证IM系统稳定及性能的小技巧。
20 6
|
7天前
|
弹性计算 负载均衡 Java
【上云基础系列 02-01】通过SLB+1台ECS+ESS弹性伸缩,搭建一个精简版的上云标准弹性架构(含方案及教程)
通常,构建一个弹性架构(即使是一个最基础的入门版),至少需要2台ECS。但是,很多小微企业刚开始上云的时候,为了节省成本不愿意购买更多的服务器。通过 “ALB+ESS弹性伸缩+1台ECS+RDS”方案,在保障低成本的同时,也不牺牲业务架构的弹性设计,更避免了很多人因为节省成本选择了单体架构后频繁改造架构的困局。 方案中的几个设计非常值得小微企业借鉴:(1)通过ALB/RDS的按量付费,节省了初期流量不大时的费用;(2)通过ESS弹性伸缩,不需要提前购买服务器资源,但是当业务增长或减少时却保持了资源弹性自动扩缩容。
|
7天前
|
SQL 弹性计算 安全
【上云基础系列04】基于标准架构的数据库升级
本文回顾了业务上云从基础到进阶的理念,涵盖基础版和全栈版架构。在“入门级:上云标准弹性架构基础版”的基础上,本文针对数据库升级,重点介绍了高可用数据库架构的升级方案,确保数据安全和业务连续性。最后,附有详细的“上云标准弹性架构”演进说明,帮助用户选择合适的架构方案。
|
7天前
|
弹性计算 负载均衡 安全
【上云基础系列03】基于标准架构的安全升级
本文回顾了业务上云从基础到进阶的理念,介绍了企业在不同发展阶段所需的架构选择。在“入门级:上云标准弹性架构基础版”的基础上,本文针对安全升级,重点介绍了:(1)公网入口基于应用型负载均衡ALB集成WAF防护,提升Web应用的安全性;(2)公网出口则通过NAT网关升级为CFW防火墙,保障出站流量的安全。 此外,还提供了详细的架构演进说明,涵盖从入门级标准弹性架构到高级安全能力和数据库升级的全过程。
|
7天前
|
弹性计算 负载均衡 安全
【上云基础系列-02】企业推荐!必学必会的上云标准架构(弹性架构)
本文介绍上云标准弹性架构,针对企业业务发展需求,推荐使用多服务器的弹性架构而非单体架构。方案包含负载均衡、NAT网关、云服务器ECS、云数据库RDS等组件,确保业务的负载分担、冗余备份及平滑扩展。通过统一公网暴露面管理和VPC网络设计,保障架构的稳定性、安全性和可扩展性。该架构适用于中小企业上云,避免性能瓶颈和迭代升级困难,支持业务持续发展。更多内容可参考下方演进说明总览。
|
8天前
|
弹性计算 开发者
【上云基础系列-01】如何把控公网带宽费,实现低成本用云(基于单体架构)
本文主要面向开发者,介绍在单体架构下如何巧妙选择服务器和公网产品方案,实现低门槛用云。针对个人开发者和企业不同需求,推荐使用阿里云的ECS、EIP和CDT组合方案,特别是CDT提供的200GB/月免费公网流量,帮助用户显著降低网络成本。该方案不仅适合个人开发者的低成本需求,也满足初创企业和大型电商平台的扩展要求。通过灵活配置服务,用户可以在保障性能的同时实现成本节约。
|
25天前
|
存储 缓存 关系型数据库
社交软件红包技术解密(六):微信红包系统的存储层架构演进实践
微信红包本质是小额资金在用户帐户流转,有发、抢、拆三大步骤。在这个过程中对事务有高要求,所以订单最终要基于传统的RDBMS,这方面是它的强项,最终订单的存储使用互联网行业最通用的MySQL数据库。支持事务、成熟稳定,我们的团队在MySQL上有长期技术积累。但是传统数据库的扩展性有局限,需要通过架构解决。
65 18
|
1月前
|
Web App开发 编解码 vr&ar
使用Web浏览器访问UE应用的最佳实践
在3D/XR应用开发中,尤其是基于UE(虚幻引擎)开发的高精度场景,传统终端因硬件局限难以流畅运行高帧率、复杂效果的三维应用。实时云渲染技术,将渲染任务转移至云端服务器,降低终端硬件要求,确保用户获得流畅体验。具备弹性扩展、优化传输协议、跨平台支持和安全性等优势,适用于多种终端和场景,特别集成像素流送技术,帮助UE开发者实现低代码上云操作,简化部署流程,保留UE引擎的强大开发能力,确保画面精美且终端轻量化。
使用Web浏览器访问UE应用的最佳实践
|
1月前
|
搜索推荐 NoSQL Java
微服务架构设计与实践:用Spring Cloud实现抖音的推荐系统
本文基于Spring Cloud实现了一个简化的抖音推荐系统,涵盖用户行为管理、视频资源管理、个性化推荐和实时数据处理四大核心功能。通过Eureka进行服务注册与发现,使用Feign实现服务间调用,并借助Redis缓存用户画像,Kafka传递用户行为数据。文章详细介绍了项目搭建、服务创建及配置过程,包括用户服务、视频服务、推荐服务和数据处理服务的开发步骤。最后,通过业务测试验证了系统的功能,并引入Resilience4j实现服务降级,确保系统在部分服务故障时仍能正常运行。此示例旨在帮助读者理解微服务架构的设计思路与实践方法。
102 17
|
1月前
|
存储 消息中间件 小程序
转转平台IM系统架构设计与实践(一):整体架构设计
本文描述了转转IM为整个平台提供的支撑能力,给出了系统的整体架构设计,分析了系统架构的特性。
75 10

热门文章

最新文章

  • 1
    Burp Suite Professional 2025.2 (macOS, Linux, Windows) - Web 应用安全、测试和扫描
    24
  • 2
    AppSpider Pro 7.5.015 for Windows - Web 应用程序安全测试
    19
  • 3
    【02】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-2月12日优雅草简化Centos stream8安装zabbix7教程-本搭建教程非docker搭建教程-优雅草solution
    54
  • 4
    部署使用 CHAT-NEXT-WEB 基于 Deepseek
    327
  • 5
    【2025优雅草开源计划进行中01】-针对web前端开发初学者使用-优雅草科技官网-纯静态页面html+css+JavaScript可直接下载使用-开源-首页为优雅草吴银满工程师原创-优雅草卓伊凡发布
    26
  • 6
    java spring 项目若依框架启动失败,启动不了服务提示端口8080占用escription: Web server failed to start. Port 8080 was already in use. Action: Identify and stop the process that’s listening on port 8080 or configure this application to listen on another port-优雅草卓伊凡解决方案
    39
  • 7
    零基础构建开源项目OpenIM桌面应用和pc web- Electron篇
    28
  • 8
    【01】客户端服务端C语言-go语言-web端PHP语言整合内容发布-优雅草网络设备监控系统-硬件设备实时监控系统运营版发布-本产品基于企业级开源项目Zabbix深度二开-分步骤实现预计10篇合集-自营版
    20
  • 9
    FastAPI与Selenium:打造高效的Web数据抓取服务 —— 采集Pixabay中的图片及相关信息
    53
  • 10
    springSecurity学习之springSecurity过滤web请求
    60