系统高可用要素

原创
05/13 14:58
阅读数 16

高可用要素

冗余:核心链路中任何一个系统都有冗余组件,在故障期间,这些冗余组件可以承载流量; 监控:从运行时系统收集数据,在故障发生时可以检测通知; 故障转移:系统容错自动机制,当通过监控指标看到故障发生时,故障转移机制可以切换流量到容灾组件;

针对于以上三个高可用要素发现,为实现高可用,不管是否有状态服务,首先要冗余或备份。当真正出现故障时,要有监控手段监控到故障发生。在故障发生后,可以通过故障转移组件转移到冗余组件中,保障服务不中断。

高可用要做到:备份冗余、体系化监控、自动化故障转移。

高可用建设是系统性工程,整体链路高可用保障水平是由链路上水平最低的那个决定的。

大型互联网架构设计目标

大型互联网系统架构设计的目标主要围绕于:高性能、高扩展、高并发、可伸缩、安全性展开。

从单体到微服务的拆分,可以将不同技术维度挑战的模块拆开独立治理,比如应用服务、数据库服务、文件服务等。

集群、负载均衡、无状态既解决了高并发问题,又满足了架构的可伸缩性、高性能、高可用需求。 数据库、缓存、文件系统、搜索服务等改造为分布式架构,进一步提高了整体架构的高性能、高可用、可扩展水平。 随着架构演化为多地多中心、单元化架构,实现容灾和业务拆分,进一步提高了高可用、可扩展水平。

容错:容错指的是系统在运行过程中,针对于其他依赖组件出现故障时,可以继续运行,关键在于对故障的容忍能力。 高可用:高可用指的是在故障发生时,可以极少的时间恢复业务运行,所以中断的时间越短高可用等级越高,关键在于故障恢复的时间。 容灾:容灾指的是在灾难发生时,可以切换业务链路或数据链路到其他容灾单元,以实现故障的快速恢复,可以是机房、地域等。

如何做好高可用

技术层面分为:应用架构,支撑中间件,运维。

应用架构:冗余、集群、负载均衡做故障转移。还包括熔断、限流、降级、容错、应急保障手段等。框架组件的超时重试、异步调用、幂等等设计细节。 基础平台:需要一整套高可用相关监控指标,满足故障的预警、报警、可视化监控、链路分析。常见指标包括请求量、请求错误数、延迟、http状态码、资源负载等。 运维层面:可能包括多数据中心、异地数据中心等自适应的适配。还有持续交付系统、灰度系统、版本控制、监控检测等,帮助缩小故障影响半径。

应用研发角度看可用性:

  1. 应用系统的主要敌人之一是复杂性,直接产生系统复杂的原因是耦合、依赖。减少业务、系统之间的耦合度,让系统、数据更易拆分可以提高系统稳定性。
  2. 建立完备的可视化监控平台,帮助研发与运维快速发现问题。

验收方式: 主要靠演练,预案、演练、复盘等流程。

展开阅读全文
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部