网站停服、秒杀大促…解析高可用网站架构云化
本文分享自华为云社区《高可用网站架构云化解决方案解析》,作者:琴棋书画-Linda。
早期互联网产品用户量少,并发量低,数据量小,多数只需要单个应用服务器可以满足需要,而数据库和文件服务部署在外部单个服务器上。随着业务在线化、互联网化的高速发展,企业对核心业务系统的稳定性、可靠性、有效性、业务连续性等有了更高的要求。
在大规模网站系统中,硬件故障是常态,网站的高可用架构设计的主要目的就是保证服务器硬件故障时,服务依然可用、数据依然保存并能够访问。采用高可用系统架构支持重要系统、为关键业务提供 7x24 的不间断服务,已经成为众多企业保障业务稳定、持续运转的主要选择。
客户网站业务连续性、性能扩展性、数据可靠性的痛点
(一)单点故障导致网站停服
网站对用户提供服务时,如果只使用 1 台弹性云服务器 ECS 搭建应用,就面临极高的单点故障风险:当这台服务器因各种故障(磁盘故障、内存故障、网线松动等各种问题)离线或宕机时,整个网站业务也会完全停服。
(二)应对秒杀大促等运营场景的系统服务能力瓶颈
利用打折、秒杀等促销活动吸引用户,助推业务快速增长是互联网类型公司常见的运营手段。秒杀会对现有网站的冲击,因为秒杀活动只是网站的一个营销所附带的一个网络附加活动,这个活动具有的特点是:时间短,并发能力强。如果网站和原有应用部署在一起,必然会对网站本身的业务造成冲击,稍有不慎,整个网站就会发生瘫痪。
实际上,企业系统架构能力无法应对此类活动的案例并不鲜见,最近的案例如Costco促销期间网站宕机。突发新冠疫情引发的核酸检测系统尖峰访问流量导致系统崩溃是类似的场景,如果系统提前采用基于云产品的高可用网站架构,相信能运行更加稳定。
(三) 数据可靠性痛点
网站后台存储数据丢失常见的原因有:停电、设备故障或故障、意外删除数据、不小心格式化硬盘、硬盘读写头损坏、软件崩溃、逻辑错误、固件损坏、硬盘驱动器物理损坏等。重要数据丢失且无备份会造成无可挽回的损失。
数据库是网站的核心组件,由于数据库性能、故障导致的可用性问题可能会带来业务严重受损。
三、高可用网站架构介绍
高可用架构的主要手段,是数据和服务的冗余备份及失效转移。一旦某些服务器宕机,就将服务切换到其他可用的服务器上,如果磁盘损坏,则从备份的磁盘读取数据。
高可用网站架构云化解决方案由弹性负载均衡 ELB,弹性云服务器 ECS,云数据库 RDS for MySQL 等(对象存储服务 OBS,云备份 CBR,云监控 CES 等可选服务)产品组成,解决方案的整体架构图如下:
高可用网站架构云化解决方案架构图
该方案具有以下三个典型优势:
高可用网站架构云化解决方案以 ELB 后端挂载多台 ECS 实现流量分发,有两方面最重要的特性:
(1)提升网站业务连续性。当后端 ECS 有一台出现宕机等故障时,通过健康检查功能自动摘除,前端的 ELB 自动将流量分发到健康的 ECS 上,从而确保网站正常运行。
(2)提升网站应对高并发访问能力。ELB 将访问流量自动分发到多台云服务器,扩展应用系统对外的服务能力,实现更高水平的应用容错。
高可用网站架构云化一键部署
四、高可用网站方案适用场景分析
ELB 挂载多个后端 ECS 实现高可用网站的基本要求是:一个完整的请求交互无论分配到哪台服务器(ELB 通过会话保持功能实现同一个用户的请求调度到同一台服务器上),返回的结果都是一样的。如果客户的业务响应不满足这个条件,往往不适合使用基于 ELB 的高可用网站架构云化。
(1)App 建站需求:当客户提到需要构建 App 时,后端推荐使用高可用网站架构云化
(2)小程序建站需求:当客户提到需要构建小程序应用时,后端推荐使用高可用网站架构云化。
(3)对客 Web 网站:当客户构建对客 Web 网站时,后端推荐使用高可用网站架构云化,对于互联网、电商、教育、游戏、医疗等行业重点推荐。
对照华为云客户行业分布,高可用网站适合泛互联网、教育、生产制造等行业,具有普适性。
五、高可用网站架构的价值
高可用网站架构对客户的价值如下所示:
客户价值
我们对高可用网站方案的深刻理解与最佳实践沉淀,可以让客户在最短时间内提升系统架构水平,构建对标业界最佳实践的系统。
版权声明: 本文为 InfoQ 作者【华为云开发者联盟】的原创文章。
原文链接:【http://xie.infoq.cn/article/b6976f60ac1fd5c52999d185b】。文章转载请联系作者。
评论