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

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

相关文章
|
1月前
|
存储 SQL 关系型数据库
Mysql高可用架构方案
本文阐述了Mysql高可用架构方案,介绍了 主从模式,MHA模式,MMM模式,MGR模式 方案的实现方式,没有哪个方案是完美的,开发人员在选择何种方案应用到项目中也没有标准答案,合适的才是最好的。
146 3
Mysql高可用架构方案
|
4月前
|
存储 Cloud Native 关系型数据库
PolarDB 高可用架构设计与实践
【8月更文第27天】 在现代互联网应用中,数据库作为核心的数据存储层,其稳定性和可靠性尤为重要。阿里云的 PolarDB 作为一款云原生的关系型数据库服务,提供了高可用、高性能和自动化的特性,适用于各种规模的应用。本文将详细介绍 PolarDB 的高可用架构设计,并探讨其实现数据安全性和业务连续性的关键技术。
116 0
|
1月前
|
运维 监控 测试技术
如何确保微服务架构的高可用性?
如何确保微服务架构的高可用性?
55 2
|
2月前
|
消息中间件 运维 数据库
架构设计之解析CQRS架构模式!
架构设计之解析CQRS架构模式!
架构设计之解析CQRS架构模式!
|
1月前
|
Kubernetes 关系型数据库 MySQL
Kubernetes入门:搭建高可用微服务架构
【10月更文挑战第25天】在快速发展的云计算时代,微服务架构因其灵活性和可扩展性备受青睐。本文通过一个案例分析,展示了如何使用Kubernetes将传统Java Web应用迁移到Kubernetes平台并改造成微服务架构。通过定义Kubernetes服务、创建MySQL的Deployment/RC、改造Web应用以及部署Web应用,最终实现了高可用的微服务架构。Kubernetes不仅提供了服务发现和负载均衡的能力,还通过各种资源管理工具,提升了系统的可扩展性和容错性。
114 3
|
1月前
|
前端开发 Java 测试技术
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
52 0
|
2月前
|
前端开发 Java 测试技术
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
android MVP契约类架构模式与MVVM架构模式,哪种架构模式更好?
27 2
|
4月前
|
运维 监控 关系型数据库
【一文搞懂PGSQL】7. PostgreSQL + repmgr + witness 高可用架构
该文档介绍了如何构建基于PostgreSQL的高可用架构,利用repmgr进行集群管理和故障转移,并引入witness节点增强网络故障检测能力。repmgr是一款轻量级的开源工具,支持一键部署、自动故障转移及分布式节点管理。文档详细描述了环境搭建步骤,包括配置postgresql参数、安装与配置repmgr、注册集群节点以及配置witness节点等。此外,还提供了故障手动与自动切换的方法及常用命令,确保集群稳定运行。
|
4月前
|
数据挖掘 关系型数据库 MySQL
Serverless高可用架构的解决方案体验
Serverless高可用架构的解决方案体验
166 6
|
4月前
|
弹性计算 运维 关系型数据库
Serverless高可用架构解决方案评测
Serverless高可用架构方案提供卓越效能与极简运维体验,支持服务托管、弹性伸缩及按量付费,有效降低成本并优化性能。一键部署快速启动,流程直观,文档详实;但在高级配置与特定场景实践方面指导有限。方案采用双可用区部署确保高可用性,自动故障切换保障服务连续。成本模型按需计费,减轻企业负担。功能上集成监控、日志与负载均衡,简化运维,加速上线。性能方面,秒级弹性伸缩保证资源高效匹配负载。总体而言,此方案竞争力强,特别推荐给初创公司及需灵活应对流量波动的场景。
169 2
下一篇
DataWorks