网站停服、秒杀大促…解析高可用网站架构云化
摘要:高可用架构的主要手段,是数据和服务的冗余备份及失效转移。
本文分享自华为云社区《高可用网站架构云化解决方案解析》,作者:琴棋书画-Linda。
一、背景
早期互联网产品用户量少,并发量低,数据量小,多数只需要单个应用服务器可以满足需要,而数据库和文件服务部署在外部单个服务器上。随着业务在线化、互联网化的高速发展,企业对核心业务系统的稳定性、可靠性、有效性、业务连续性等有了更高的要求。
在大规模网站系统中,硬件故障是常态,网站的高可用架构设计的主要目的就是保证服务器硬件故障时,服务依然可用、数据依然保存并能够访问。采用高可用系统架构支持重要系统、为关键业务提供7x24的不间断服务,已经成为众多企业保障业务稳定、持续运转的主要选择。
二、客户网站业务连续性、性能扩展性、数据可靠性的痛点
(一)单点故障导致网站停服
网站对用户提供服务时,如果只使用1台弹性云服务器ECS搭建应用,就面临极高的单点故障风险:当这台服务器因各种故障(磁盘故障、内存故障、网线松动等各种问题)离线或宕机时,整个网站业务也会完全停服。
(二)应对秒杀大促等运营场景的系统服务能力瓶颈
利用打折、秒杀等促销活动吸引用户,助推业务快速增长是互联网类型公司常见的运营手段。秒杀会对现有网站的冲击,因为秒杀活动只是网站的一个营销所附带的一个网络附加活动,这个活动具有的特点是:时间短,并发能力强。如果网站和原有应用部署在一起,必然会对网站本身的业务造成冲击,稍有不慎,整个网站就会发生瘫痪。
实际上,企业系统架构能力无法应对此类活动的案例并不鲜见,最近的案例如Costco促销期间网站宕机。突发新冠疫情引发的核酸检测系统尖峰访问流量导致系统崩溃是类似的场景,如果系统提前采用基于云产品的高可用网站架构,相信能运行更加稳定。
(三) 数据可靠性痛点
网站后台存储数据丢失常见的原因有:停电、设备故障或故障、意外删除数据、不小心格式化硬盘、硬盘读写头损坏、软件崩溃、逻辑错误、固件损坏、硬盘驱动器物理损坏等。重要数据丢失且无备份会造成无可挽回的损失。
数据库是网站的核心组件,由于数据库性能、故障导致的可用性问题可能会带来业务严重受损。
三、高可用网站架构介绍
高可用架构的主要手段,是数据和服务的冗余备份及失效转移。一旦某些服务器宕机,就将服务切换到其他可用的服务器上,如果磁盘损坏,则从备份的磁盘读取数据。
高可用网站架构云化解决方案由弹性负载均衡ELB,弹性云服务器ECS,云数据库RDS for MySQL等(对象存储服务OBS,云备份CBR,云监控CES等可选服务)产品组成,解决方案的整体架构图如下:
![](https://pic3.zhimg.com/80/v2-ca6f4db3f3164ca473c663ca7253f85e_720w.webp)
高可用网站架构云化解决方案架构图
该方案具有以下三个典型优势:
![](https://pic1.zhimg.com/80/v2-2ea2e412221b2329c75a669c129881c8_720w.webp)
高可用网站架构云化解决方案以ELB后端挂载多台ECS实现流量分发,有两方面最重要的特性:
(1)提升网站业务连续性。当后端ECS有一台出现宕机等故障时,通过健康检查功能自动摘除,前端的ELB自动将流量分发到健康的ECS上,从而确保网站正常运行。
(2)提升网站应对高并发访问能力。ELB 将访问流量自动分发到多台云服务器,扩展应用系统对外的服务能力,实现更高水平的应用容错。
![](https://pic2.zhimg.com/80/v2-57ff35cfbf86300ed3a58ce9a8ba865d_720w.webp)
高可用网站架构云化一键部署
四、高可用网站方案适用场景分析
ELB挂载多个后端ECS实现高可用网站的基本要求是:一个完整的请求交互无论分配到哪台服务器(ELB通过会话保持功能实现同一个用户的请求调度到同一台服务器上),返回的结果都是一样的。如果客户的业务响应不满足这个条件,往往不适合使用基于ELB的高可用网站架构云化。
(1)App建站需求:当客户提到需要构建App时,后端推荐使用高可用网站架构云化
(2)小程序建站需求:当客户提到需要构建小程序应用时,后端推荐使用高可用网站架构云化。
(3)对客Web网站:当客户构建对客Web网站时,后端推荐使用高可用网站架构云化,对于互联网、电商、教育、游戏、医疗等行业重点推荐。
对照华为云客户行业分布,高可用网站适合泛互联网、教育、生产制造等行业,具有普适性。
五、高可用网站架构的价值
高可用网站架构对客户的价值如下所示:
![](https://pic1.zhimg.com/80/v2-67b23dd55f3ca51a3e85a984c0afaf50_720w.webp)
![](https://pic4.zhimg.com/80/v2-b6acb9dbe81ba2087c0e00f6e268bb23_720w.webp)
客户价值
我们对高可用网站方案的深刻理解与最佳实践沉淀,可以让客户在最短时间内提升系统架构水平,构建对标业界最佳实践的系统。
相关文章
- Java面试题之:raft 协议和 zab 协议区别
- 租房“免押金”大面积落地,年底租房人群迎来一点甜
- 简单描述 MySQL 中,索引,主键,唯一索引,联合索引 的区别,对数据库的性能有什么影响(从读写两方面)
- 面试官问:Stream 中的 map、peek、foreach 方法的区别?彻底懵了。。
- 广电5G:“农村包围城市”还是内容创新为王?
- 华为、苹果竞争未完,平板赛道再成舞台
- 月销10万+!长城汽车全面发力“森林式生态体系”结硕果
- 鲲鹏生态下,长沙“计算”产业再登新高度
- 盘点四大运营商的5G套餐亮点,国庆出游上车5G不用愁!
- 帮您总结了面试中常用的PHP函数,您不进来看看吗?
- 面试过程中Mysql数据库常被问到的问题详解
- 面向对象是面试时提问最多的吗?
- 几道很有代表性的PHP面试题,研究研究有助于面试加分
- 【404】你访问的页面需要关灯后查看!
- 摸鱼搞了个掘金数据监控桌面应用,还不快用起来!
- 这个实现不对,要的是excel里面的高亮重复项效果
- 精选Github计算机开源视觉项目
- 腾讯云大数据流计算 Oceanus 在 MySQL CDC Connector 的核心优化
- 网宿科技携手亚马逊云科技,助力云计算成为真正的生产力
- 【FAQ】分析服务导出的事件数据和概览页面展示的数据不一致该如何解决?