网站停服、秒杀大促…解析高可用网站架构云化
摘要:高可用架构的主要手段,是数据和服务的冗余备份及失效转移。
本文分享自华为云社区《高可用网站架构云化解决方案解析》,作者:琴棋书画-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网站时,后端推荐使用高可用网站架构云化,对于互联网、电商、教育、游戏、医疗等行业重点推荐。
对照华为云客户行业分布,高可用网站适合泛互联网、教育、生产制造等行业,具有普适性。
五、高可用网站架构的价值
高可用网站架构对客户的价值如下所示:
客户价值
我们对高可用网站方案的深刻理解与最佳实践沉淀,可以让客户在最短时间内提升系统架构水平,构建对标业界最佳实践的系统。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
云数据库 GaussDB(for Influx) 解密第十一期:让智能电网中时序数据处理更高效
摘要:GaussDB(for Influx)是一款基于计算存储分离架构,完全兼容 InfluxDB 生态的云原生时序数据库。 本文分享自华为云社区《云数据库 GaussDB(for Influx) 解密第十一期:让智能电网中时序数据处理更高效》,作者:华为云数据库 GaussDB(for Influx)。 电网场景中的时序数据 今天在手机上就可以直接交电费、查看剩余电量、电量不足还可以发出告警提醒、以及分析过去的用电情况、预估未来用电情况等等。再也不用去缴费点缴费,也不用人工去每个电表上抄每家的使用情况,这些都基于我们国家的智能电网建设,而以上只是对消费者带来的一些便利。智能电网在电网线路监控、电力调度、配电等方面发挥着越来越重要的作用。 智能电网是由许多部分组成,包括智能变电站,线路输送,智能交互终端,智能电表,智能中央系统等等。每个部分都集成了大量的传感器,这些分布在全网各节点的传感器无时无刻不在收集各类数据。随着中国智能电网建设的不断完善,其测点的规模越来越大,达到数千万级以上,并且单个测点将以分钟级甚至秒级的频率产生数据。将会产生海量的监控数据,而且这些数据大部分属于时序数据。...
- 下一篇
基于OpenHarmony L2设备,如何用IoTDeviceSDKTiny对接华为云
摘要:本文主要讲解如何基于L2设备对接华为云IoTDA,以DAYU200开发板,采用IoTDeviceSDKTiny对接华为云IoTDA,当然这里也可以采用其他OpenHarmony的富设备。 本文分享自华为云社区《基于OpenHarmony L2设备 采用IoTDeviceSDKTiny对接华为云》,作者:星辰27。 1 前期环境准备 (1)开发板相关:参考DAYU开发指导 (2)代码编译相关:OpenHarmony源码以及编译环境 2 下载SDK 下载附件中源代码后,将文件夹重命名为iot_device_sdk_tiny,将其拷贝到已经下载好的OpenHarmony 源码根目录的third_party文件夹下,我这里使用的OpenHarmony版本为3.1.1- release版本。 3 添加子系统编译构建 在子系统配置文件subsystem_config.json中新建子系统。其位于OpenHarmony源码根目录的build文件夹下,添加如下构建脚本 "iot_device_sdk_tiny": { "path": "third_party/iot_device_sdk_ti...
相关文章
文章评论
共有0条评论来说两句吧...