高可用应用的系统架构设计模式

发布于:2023-09-22 ⋅ 阅读:(73) ⋅ 点赞:(0)

作者:禅与计算机程序设计艺术

1.简介

云计算已经成为主流运维工具、应用程序部署方式和基础设施服务供应商。其高弹性、自动化、可扩展、按需付费等特性,正在带动越来越多行业的创新型互联网企业采用云平台作为服务部署平台。由于云计算环境复杂、动态变化、不可预测,运行环境不稳定且不可控,云平台提供的服务也会因各种因素(比如硬件故障、网络拥塞、软件升级)而出现故障。为了保障业务连续性,提升用户体验,云平台需要在硬件层面实现高可用,并通过软硬件组合方案进行容灾和备份。
云平台在设计架构时,可以按照系统架构设计模式来分解、组织和优化,从而确保应用系统的高可用、可靠性、可扩展性、可管理性、可伸缩性及安全性。本文将阐述高可用应用系统架构设计模式以及相关原理,希望能够帮助读者理解此类系统的设计方法和设计原则。

2.核心概念术语说明

2.1.高可用(High Availability)

高可用是指,一个系统或组件对外提供的功能,不受到影响时间超过某个级别。换句话说,系统或组件发生故障时,仍然能够正常响应和处理外部请求。在云计算中,我们通常把“对外提供的功能”定义为业务功能,它对业务产生的影响包括但不限于客户访问不顺畅、业务性能下降、数据丢失、业务中断等。在高可用系统架构设计中,主要关注如何降低系统或组件不可用带来的影响。

2.2.弹性(Elasticity)

弹性是指,在发生变化(比如硬件故障、负载增加、网络攻击等)时,系统或组件能够快速、自动地适应,无需人为干预或停止工作。弹性是高可用系统架构设计的一个重要特性。当云平台的业务规模