什么是高可用性?
什么是高可用性?
高可用性(HA)是指应用程序或 IT 系统无论用户数量多少,都能持续保持高水平运行的能力。组织需要关键系统始终保持在线,以避免服务中断并确保客户满意度。高可用性可确保即使在系统负载高峰期,客户连接也能保持畅通,且数据不会丢失。根据所需的高可用性级别,您需要在应用程序的整个生命周期内采取日益复杂的措施。
为什么高可用性很重要?
企业必须在其系统中实现高可用性,以避免可能对公司产生影响的停机。
减少停机时间
当您的公司无法访问时,可能会导致收入损失、客户满意度下降以及声誉受损。高可用性系统可以最大限度地减少停机时间,因此即使在硬件故障、软件崩溃或其他中断期间,关键应用程序和服务仍然可以在线访问。这种韧性可以帮助企业避免代价高昂的中断并保持遵守监管要求。
改善客户体验
用户期望服务全天候可用,尤其是在线服务。HA 系统也有助于满足这些期望,即使在高峰期或季节性高需求期间也不例外。组织可以确保其 IT 系统稳健并处理连续流量,以提供完整的业务连续性。客户还可以快速获得预期的服务,并且不太可能寻求竞争。您将获得更高的客户满意度和忠诚度。
灵活的可扩展性
高可用性架构是可扩展的解决方案,可以自动处理不断增加的工作负载。基础设施自动调整以提供更大的容量,使系统能够适应不断增长的需求,而不会导致服务降级。HA 系统还可以灵活地进行技术更新和调整,而无需大量停机。
竞争优势
在客户期望高性能和正常运行时间的市场中,可靠性可能是一个关键的差异化因素。拥有高可用性系统的组织通过确保可靠的服务交付来保持竞争优势。持续的服务可用性还可以吸引寻求可靠解决方案的新客户。
高可用性系统的特点是什么?
高可用性系统具有多种特性,使其能够提供持续的服务。
复制
复制是指在系统的不同部分之间复制数据的做法。高可用性系统会创建数据副本;一旦主系统发生故障,这些副本便能迅速替代丢失的数据。主系统中的任何变更都会自动同步更新到备用系统中。复制方式可分为同步复制(变更即时镜像)和异步复制(变更在短暂延迟后更新)。备用系统会持续维护,以确保其拥有与主系统完全相同的最新配置和数据。
冗余
高可用性基础设施中的冗余是指系统中包含多个相同的组件。发生灾难时,这些冗余组件会接管工作,确保系统持续运行。存储系统、服务器和软件组件等所有关键组件都有副本。这种级别的冗余保护可以确保系统不存在单点故障。即使多个组件发生故障,也有备用组件可以接管任务。
地理分布
高可用性系统的另一大特性是利用地理分布来增强系统的韧性。将基础设施分布在全球各地,可确保自然灾害或不可预见的事件不会影响您的系统。如果某个区域遭受自然灾害,有效的地理分布能确保您切换至其他地点的组件,从而维持正常运行。
负载均衡
负载均衡是一种有助于优化系统性能并增强故障转移系统韧性的策略。负载均衡器负责跨所有可用的服务器和实例分配流量。它确保流量在所有可用位置之间进行均衡分配。负载均衡器还能自动检测服务器故障,并将客户端流量重定向至可用的服务器。您可以使用负载均衡功能,在不导致应用程序停机的情况下进行服务器维护或升级。
失效转移
失效转移是指当主系统发生故障时,备用系统自动接管任务的过程。失效转移过程包含两个主要组成部分。第一项措施用于监测系统及其所有组件当前的运行状况。第二项措施会在检测到任何故障时,触发系统从主集群切换到备用组件。
失效转移是高可用性基础设施中最关键的组件之一。它能无缝触发组件切换,而且用户完全察觉不到后端正在发生故障。该系统能最大限度地减少高可用性基础设施中的停机时间。
如何衡量高可用性?
高可用性通常以百分比形式呈现。一个拥有 100% 正常运行时间的完美系统绝不会发生故障。当然,即使是世界上最优秀的系统也不可能十全十美,因此许多企业使用“几个九”的概念来衡量可用性。
高可用性指标
“三个九”的系统代表 99.9% 的可用性。实际上,99.9% 的可用性意味着每年的停机时间约为 8 小时。当升级到“四个九”的系统(99.99%)时,每年的停机时间会降至约 52 分钟。随后,如果升级到“五个九”的系统(99.999%),每年的停机时间将缩短至仅约 5 分钟。
故障修复指标
除了“几个九”的衡量体系外,还有一些关键指标涉及停机时间以及服务提供商修复 IT 故障的速度。例如,
-
平均故障间隔时间(MTBF)是系统的总运行时间除以发生的故障次数。
-
平均修复时间(MTTR)是工程师诊断、修复、测试故障系统并使其恢复正常运行所需的总时间。
-
平均诊断时间(MTTD)是从系统发生故障到团队确定所需修复方案之间的时间总和。
-
平均故障前时间(MTTF)是从修复完成到下一次故障发生之间的时间总和。
-
恢复点目标(RPO)是企业在发生服务中断时认为可接受的数据丢失时间跨度。
将“几个九”的衡量体系与修复指标相结合,可以全面衡量系统的可用性。
高可用架构有哪些类型?
高可用性基础设施可以使用两种主要结构之一来提供冗余并提供较长的正常运行时间。
主动-主动
主动-主动高可用性集群使用许多协同工作的节点。当新请求到达时,多个系统使用负载平衡来分配流量并优化系统资源。这种方法使用实时数据复制来确保所有节点都是最新的。
每当主动-主动系统中的集群发生故障时,其他活动节点都可以分配其当前的工作负载,以继续向系统提供功能。然后,工程师可以在线修复并返回故障节点,同时其他节点继续工作。
主动-主动架构具有很高的韧性,并且在资源使用优化方面表现出色。这种方法具有可扩展性,对于需要长期保持一致性的企业非常有用。然而,额外的硬件和软件要求使得该策略成本更高。
主动-被动
主动-被动基础设施使用两个主节点。一个节点保持活动状态并处理所有传入流量。另一个节点保持被动状态,但主动与主动节点同步数据。
两个节点使用数据复制维护相同的数据存储。如果活动节点发生故障,辅助节点将接管并继续系统的运行。然而,与主动-主动系统不同,这种接管并不总是即时的。
虽然主动-被动节点不提供相同级别的冗余,但其运行成本通常更低。
如何实现高可用性?
实现高可用性依赖于这些系统的基础策略和基础设施。以下是一些旨在增强容错能力并保障业务连续性的最佳实践。
集群
利用节点集群(无论是主动-主动还是主动-被动系统)来增强系统的韧性。将系统部署在多个集群中,可降低单个节点因过载而发生故障的风险。
高可用集群有助于确保故障转移机制能迅速切换至新节点,从而缩短潜在的停机时间。
监控
高效的故障转移系统依赖于全面的监控机制,以便及时发现性能问题并识别节点故障。持续监控系统承载的业务负载对于保障业务连续性至关重要。
实施安全策略
确保高可用性的另一个关键方面,是保护系统免受网络攻击及因未经授权访问而引发的其他潜在干扰。在可能的情况下,实施现代安全架构来抵御已知威胁与数据丢失风险,并提升系统的韧性。
高可用性系统与灾难恢复有什么区别?
高可用性和灾难恢复密切相关,但又不相同。
灾难恢复涉及您为响应大规模中断或数据丢失事件而采取的步骤和操作。灾难恢复计划概述了您对某些潜在事件的反应,例如安全事件、人为错误或导致业务系统关闭的自然灾害。
相比之下,高可用性旨在减少系统中的单点故障,从而降低停机的可能性。它可以将硬件和软件问题中断系统的可能性降至最低。它通过失效转移机制、新近度和数据复制来增加正常运行时间。
高可用性系统不是灾难恢复的一部分。相反,HA 系统旨在防止因 IT 事件导致的关闭。灾难恢复是指在现有 HA 系统发生故障时使系统恢复并运行,以及在关闭后执行的所有相关步骤。
亚马逊云科技如何帮助实现高可用性?
Amazon Web Services 提供高可用性的 SQL 和 NoSQL 数据库。
例如,Amazon Relational Database Service(Amazon RDS)是一项托管服务,让您能够轻松地在云中设置、操作和扩展关系型数据库。它支持两种易于使用的选项,以确保关系型数据库的高可用性。
-
您可以使用 Amazon RDS 多可用区部署来创建主数据库实例,并将数据同步复制到位于不同可用区(AZ)的备用实例。如果基础设施出现故障,Amazon RDS 会将故障自动转移到备用数据库实例。
-
您可以选择在集群中运行一个或多个副本。如果数据库集群中的主实例发生故障,RDS 会自动将现有副本提升为新的主实例,并更新服务器端点。
同样,Amazon SimpleDB 也是一种高度可用的 NoSQL 数据存储服务,能够分担数据库管理工作。开发人员只需通过 Web 服务请求执行数据项的存储和查询,Amazon SimpleDB 将负责余下的工作。企业还可以利用 Amazon DocumentDB 全局集群将关键工作负载分布到全球各地,从而提高数据库系统的弹性。
实际上,您可以在亚马逊云科技上的任何数据库服务中实现高可用性和读取扩展。例如,利用亚马逊云科技基础设施在 Amazon EC2 上构建高度可用的 Microsoft SQL Server 数据库。您还可以使用 Amazon EC2 服务器节点及辅助服务,在亚马逊云科技上构建自定义的高可用性系统。
立即注册亚马逊云科技账户,开始在亚马逊云科技上实现高可用性。
Browse all cloud computing concepts
Browse all cloud computing concepts content here:
Did you find what you were looking for today?
Let us know so we can improve the quality of the content on our pages