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