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

简介: 随着企业客户部署的任务关键型基于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

相关文章
|
21天前
|
存储 分布式计算 分布式数据库
【专栏】云计算与分布式系统架构在数字化时代的关键作用。云计算,凭借弹性、可扩展性和高可用性,提供便捷的计算环境
【4月更文挑战第27天】本文探讨了云计算与分布式系统架构在数字化时代的关键作用。云计算,凭借弹性、可扩展性和高可用性,提供便捷的计算环境;分布式系统架构则通过多计算机协同工作,实现任务并行和容错。两者相互依存,共同推动企业数字化转型、科技创新、公共服务升级及数字经济发展。虚拟化、分布式存储和计算、网络技术是其核心技术。未来,深化研究与应用这些技术将促进数字化时代的持续进步。
|
21天前
|
弹性计算 负载均衡 容灾
应用阿里云弹性计算:打造高可用性云服务器ECS架构
阿里云弹性计算助力构建高可用云服务器ECS架构,通过实例分布、负载均衡、弹性IP、数据备份及多可用区部署,确保业务连续稳定。自动容错和迁移功能进一步增强容灾能力,提供全方位高可用保障。
192 0
|
21天前
|
SQL canal 运维
MySQL高可用架构探秘:主从复制剖析、切换策略、延迟优化与架构选型
MySQL高可用架构探秘:主从复制剖析、切换策略、延迟优化与架构选型
|
21天前
|
微服务
01.【微服务架构】服务注册与发现:AP和CP,你选哪个?-- 高可用性
【5月更文挑战第4天】注册中心通过心跳检测服务端状态,当心跳失败时预判服务端崩溃并通知客户端停止使用。心跳机制应对网络不稳定,需平衡重试次数与间隔,避免误判和延迟。即使如此,从服务端宕机到客户端获知仍存在时间差,因此需要客户端具备容错能力。
30 0
|
21天前
|
消息中间件 存储 SQL
Flume【基础知识 01】简介 + 基本架构及核心概念 + 架构模式 + Agent内部原理 + 配置格式(一篇即可入门Flume)
【2月更文挑战第18天】Flume【基础知识 01】简介 + 基本架构及核心概念 + 架构模式 + Agent内部原理 + 配置格式(一篇即可入门Flume)
577 0
|
21天前
|
关系型数据库 MySQL 数据库
MySQL:从MySQL看主从架构高可用性实现
MySQL:从MySQL看主从架构高可用性实现
|
11月前
|
负载均衡 监控 关系型数据库
MySQL数据库的主从复制和高可用性架构
MySQL数据库的主从复制和高可用性架构
|
监控 数据库
构建高可用性的数据库架构:主从复制和分区策略
在今天的软件开发领域中,构建高可用性的数据库架构至关重要。数据是应用程序的核心,因此确保数据的持久性、可用性和一致性对于任何规模的应用程序都是至关重要的。在本篇文章中,我们将重点介绍两种常用的数据库高可用性技术:主从复制和分区策略,并讨论如何将它们结合起来构建一个稳定和可靠的数据库架构。
125 0
|
存储 缓存 运维
带你读《云原生架构白皮书2022新版》——主要架构模式(上)
带你读《云原生架构白皮书2022新版》——主要架构模式(上)
538 1
|
Cloud Native 前端开发 定位技术
带你读《云原生架构白皮书2022新版》——主要架构模式(下)
带你读《云原生架构白皮书2022新版》——主要架构模式(下)
198 0