什么是高可用性?
高可用性(HA)是指系统持续运行而不停机或发生故障的能力,通常通过内置故障转移机制实现。高可用性系统旨在即使发生意外事件也能持续运行。
高可用性为何重要
高可用性(HA)的主要目标是避免停机。停机是指系统、服务、应用、云服务或功能不可用或无法正常运行的时段。停机会导致收入损失、生产力下降,并损害公司声誉。因此,HA对于以下方面至关重要:
- 业务连续性:HA可确保关键系统、特性和功能始终按预期运行。HA系统可从故障中快速恢复,使组织能够继续按预期为客户提供服务(最好不会出现明显的服务中断)。
- 改善用户体验:快速可靠的系统有助于保持客户满意度,并避免收入损失、数据泄露和生产力下降带来的负面影响。
- 竞争优势:高可用性有助于组织凭借比竞争对手更快速、更可靠的服务脱颖而出,体现其对整体质量和客户满意度的重视。
高可用性类型
高可用性(HA)有多种类型,可根据所需的冗余级别、故障容错类型以及受保护的系统类型进行分类。常见的HA类型包括:
- 主动-被动:备份系统保持被动或待机模式,仅在主系统发生故障时才会激活。这种故障转移保护方法有时需要手动干预,才能切换到备份系统。
- 主动-主动:多个系统同时主动运行并分担工作负载。如果一个系统发生故障,其他系统会自动接管其工作负载。与手动选项相比,这类高可用性(HA)需要更复杂的配置和系统间协调,但可提升性能和可扩展性。
此图显示了由两台NGINX Plus服务器组成的主动-被动HA集群。NGINX还支持主动-主动及其他HA配置。

如何实现高可用性?
冗余和故障转移机制可避免单点故障,确保某个组件发生故障时不会影响整个系统、应用或功能的运行。常见机制包括:
- 冗余组件:在系统内部署多台服务器、多条网络连接、多个存储系统和多个电源。如果一个组件发生故障,另一个组件会无缝接管。
- 监控和警报:持续监控性能和可用性。检测到服务中断或其他问题时,系统会生成警报。系统管理员可以快速发现并解决问题,从而降低停机风险。
- 负载均衡:一台或多台专用服务器拦截发往一组后端系统的请求,并在这些系统之间分配流量,以优化性能。如果某个后端系统发生故障,负载均衡器会自动将传入请求重定向到其他系统。
- 故障转移机制:部署主动-被动或主动-主动配置,或部署故障转移集群,确保一个系统发生故障时,另一个系统能够接管,并将中断降至最低。
- 备份和恢复系统:确保发生故障时能够快速恢复数据和应用。此类系统可以采用混合模式、部署在不同位置、基于云,也可以在故障后快速上线。
如何支持高可用性
为实现高可用性(HA),需要部署的服务和资源取决于系统类型、HA类型以及贵组织的具体要求。支持要素包括:
- 技术支持:为需要获得HA系统相关帮助的组织提供第一道保障。专职支持人员可协助排查、诊断和解决问题,还可就保持高可用性的最佳实践提供指导。
- 维护和升级:为保持正常运行和安全,HA系统必须定期维护,并运行最新的可用软件版本。
- 灾难恢复规划:对于需要快速恢复系统的组织至关重要。预先制定并记录相关流程后,系统管理员无需在紧急情况下凭记忆操作或临时制定解决方案。
- 文档和培训:帮助系统管理员了解如何管理高可用性系统。文档可能包括良好实践、教程和培训课程。
最佳实践:高可用性
遵循最佳实践有助于提升运营绩效,并尽可能减少代价高昂的停机时间。可根据组织的系统、地点和预期成果调整这些通用最佳实践。
- 引入冗余:从硬件组件到网络连接,系统的每个层级都采用冗余设计,确保单个组件发生故障时,系统仍能按预期运行。
- 对流量进行负载均衡:将传入请求分配到多个系统,使仍在运行的系统能够在某个系统发生故障时接管其工作。
- 监控性能和可用性:持续监控和告警有助于缩短发现和解决问题所需的时间。
- 经常测试和验证故障转移机制:通过例行测试,确定发生中断时,故障转移机制是否仍能可靠地接管相应功能。
- 备份和恢复流程:确保发生故障时能够快速恢复数据和应用。
- 定期升级和维护系统,这有助于确保应用和系统持续正常、安全地运行。
- 培训人员:应将定期测试和强化流程纳入标准操作程序,尤其是对负责高可用性(HA)的个人和团队。
- 考虑采用云解决方案:云存储和灾难恢复可确保无论故障发生在何处,系统都能继续运行。
- 监控安全状况:实施相关措施,防止数据泄露,并阻止恶意行为者或未经授权的用户访问系统。
