【高可用架构】高可用性架构模式

简介: 随着企业客户部署的任务关键型基于web的服务的数量不断增加,对设计最佳网络可用性解决方案的深入理解的需求前所未有地重要。高可用性(HA)已成为此类系统开发的关键方面。高可用性简单地指的是一个组件或系统持续运行一段时间。

High Availability Architecture Patterns in FileCloud

随着企业客户部署的任务关键型基于web的服务的数量不断增加,对设计最佳网络可用性解决方案的深入理解的需求前所未有地重要。高可用性(HA)已成为此类系统开发的关键方面。高可用性简单地指的是一个组件或系统持续运行一段时间。可用性通常与“100%运营”相关;然而,由于几乎不可能保证100%的可用性,因此目标通常以9的数量表示。最令人向往的可用性目标是“五个9”,即99.999%的可用性,相当于每天不到一秒的停机时间。使用标准的商业质量软件和硬件可以实现“五个9”的可用性。高可用性架构的设计在很大程度上基于冗余硬件组件和软件的组合,以在无需人工干预的情况下管理故障校正和检测。下面的模式说明了在设计高可用性系统时要考虑的设计和架构。

服务器冗余

为高可用性系统提供可靠设计的关键在于识别和解决单点故障。单点故障简单地指其故障将导致系统完全关闭的任何部件。生产服务器是复杂的系统,其可用性取决于多种因素,包括硬件、软件和通信链路;这些因素中的每一个都是潜在的失败点。引入冗余是解决单点故障的最可靠方法。它是通过复制对其功能至关重要的系统的单个部分来实现的。复制保证了在关键组件发生故障时,始终有一个辅助组件可以接管。冗余依赖于系统不能同时经历多个故障的假设。

最广为人知的冗余示例是廉价磁盘的RAID冗余阵列,它利用了多个驱动器的组合使用。服务器冗余可以通过备用形式(也称为主动-被动冗余)或通过主动-主动冗余实现,其中所有副本都是同时活动的。

主动-被动冗余

主动-被动体系结构模式至少由两个节点组成。被动服务器(故障切换)充当备用服务器,在主动服务器因任何原因断开连接的情况下,被动服务器将接管。主活动服务器托管生产、测试和开发应用程序。

辅助被动服务器在正常操作期间基本上保持休眠状态。该模型的一个主要缺点是无法保证生产应用程序在被动服务器上按预期运行。该模型也被认为是一种相对浪费的方法,因为昂贵的硬件未被使用。

Active-Active Redundancy

主动-主动模型还包含至少两个节点;然而,在这种架构模式中,多个节点同时主动运行相同的服务。为了充分利用所有活动节点,活动-活动集群使用负载平衡在节点之间分配工作负载,以防止任何单个节点过载。分布式工作负载随后显著提高了响应时间和吞吐量。

负载平衡器使用一组复杂的算法将客户端分配给节点,连接通常基于性能指标和健康检查。为了保证无缝的可操作性,集群中的所有节点都必须配置为冗余。主动-主动冗余的一个潜在缺点是,如果其中一个节点发生故障,客户端会话可能会被丢弃,迫使它们重新登录系统。然而,通过确保每个节点的单独配置设置几乎相同,这可以很容易地减轻。

N+1冗余

N+1冗余模式是主动-主动和主动-被动之间的混合解决方案;它有时被称为并行冗余。尽管该型号主要用作UPS配置,但它也可用于高可用性。N+1架构模式基本上为系统中的N个潜在单点故障引入了1个从(被动)。从机保持待机模式,并等待N个活动部件中的任何一个发生故障。因此,该系统被授予处理N个组件中的一个组件故障的能力,而性能会受到影响。

数据中心冗余

虽然数据中心可能包含冗余组件,但组织也可以从拥有多个数据中心中受益。天气、电源故障甚至简单的设备故障等因素都可能导致整个数据中心关闭。在这种情况下,数据中心内的复制几乎没有用处。对于企业来说,这种计划外停机可能是一件代价高昂的事情。当考虑到数据中心级别的故障时,对包括多个服务器的高可用性模式的需求就变得显而易见。

需要注意的是,在地理位置不同的位置建立多个数据中心,并购买物理硬件以在数据中心内提供冗余,成本极高。此外,设置是一件耗时的事情,从长远来看似乎太难实现。然而,通过使用IaaS(基础设施即服务)提供商,可以降低高昂的购买、安装和维护成本。

浮动IP地址

浮动IP地址可以工作在使用冗余的高可用性集群中。使用术语“浮动”是因为IP地址可以在实例中从同一集群中的一个液滴移动到另一个液。这意味着基础架构可以通过立即将IP地址指向冗余服务器来实现高可用性。浮动IP允许客户将IP地址与不同的液滴相关联,从而显著减少了停机时间。具有浮动IP的设计模式使建立备用Droplet成为可能,该Droplet可以在接到通知后立即接收生产流量。


Tags

本文:https://architect.pub/high-availability-architecture-patterns-filecloud

相关文章
|
7月前
|
SQL 监控 关系型数据库
MySQL主从复制:构建高可用架构
本文深入解析MySQL主从复制原理与实战配置,涵盖复制架构、监控管理、高可用设计及性能优化,助你构建企业级数据库高可用方案。
|
8月前
|
运维 监控 搜索推荐
MSE ZooKeeper:Flink 高可用架构的企业级选择
本文深入解析了 Apache Flink 架构中 ZooKeeper 的核心作用,包括 Leader 选举、Checkpoint 管理、作业协调及配置管理等关键功能,并结合金融风控与电商推荐等典型场景,分析了 ZooKeeper 在实际应用中的技术实现。
|
6月前
|
运维 监控 安全
公链开发中的高可用架构设计要点
本指南提供公链高可用架构的可复用流程与模板,涵盖目标拆解、先决条件、分步执行、故障排查及验收标准,结合跨链DApp与量化机器人案例,提升落地效率与系统稳定性。
|
7月前
|
存储 监控 NoSQL
Redis高可用架构全解析:从主从复制到集群方案
Redis高可用确保服务持续稳定,避免单点故障导致数据丢失或业务中断。通过主从复制实现数据冗余,哨兵模式支持自动故障转移,Cluster集群则提供分布式数据分片与水平扩展,三者层层递进,保障读写分离、容灾切换与大规模数据存储,构建高性能、高可靠的Redis架构体系。
|
11月前
|
监控 Linux 应用服务中间件
Linux多节点多硬盘部署MinIO:分布式MinIO集群部署指南搭建高可用架构实践
通过以上步骤,已成功基于已有的 MinIO 服务,扩展为一个 MinIO 集群。该集群具有高可用性和容错性,适合生产环境使用。如果有任何问题,请检查日志或参考MinIO 官方文档。作者联系方式vx:2743642415。
3523 57
|
9月前
|
文字识别 运维 监控
架构解密|一步步打造高可用的 JOCR OCR 识别服务
本文深入解析了JOCR OCR识别服务的高可用架构设计,涵盖从用户上传、智能调度、核心识别到容错监控的完整链路,助力打造高性能、低成本的工业级OCR服务。
379 0
架构解密|一步步打造高可用的 JOCR OCR 识别服务
|
12月前
|
消息中间件 存储 设计模式
RocketMQ原理—5.高可用+高并发+高性能架构
本文主要从高可用架构、高并发架构、高性能架构三个方面来介绍RocketMQ的原理。
3341 21
RocketMQ原理—5.高可用+高并发+高性能架构
|
负载均衡 Serverless 持续交付
云端问道9期实践教学-省心省钱的云上Serverless高可用架构
详细介绍了云上Serverless高可用架构的一键部署流程
290 10
|
弹性计算 运维 网络协议
卓越效能,极简运维,Serverless高可用架构
本文介绍了Serverless高可用架构方案,当企业面对日益增长的用户访问量和复杂的业务需求时如何实现更高的灵活性、更低的成本和更强的稳定性。
|
监控 Serverless 测试技术
云端问道9期方案教学-省心省钱的云上Serverless高可用架构
本文介绍了省心省钱的云上Serverless高可用架构,主要分为两个部分:1. Serverless的发展历程、特点及高可用架构;2. SAE(Serverless Application Engine)产品介绍。Serverless作为一种云计算模式,让用户无需管理底层基础设施,自动弹性扩展资源,按需付费,极大提高了资源利用率和业务灵活性。SAE作为Serverless计算服务,提供了简便的应用部署、运维自动化、丰富的弹性策略和可观测性等功能,帮助企业降低运营成本、提升研发效率。通过极氪汽车、南瓜电影等客户案例展示了SAE在实际应用中的优势。
249 0