互联网-高可用系列(一)-概念

xiaoxiao2021-02-28  5

概念

高可用(High Availability),指使服务高度可靠的能力.

指标

通常会对高可用进行指标(X个9)的定义,表示服务在1年时间的使用过程中,正常的时间与总时间(1年)之比,例如:

3个9:(1-99.9%)*365*24=8.76小时,表示1年里服务最多中断8.76小时4个9:(1-99.99%)*365*24=0.876小时=52.6分钟,表示1年里最多中断52.6分钟。5个9:(1-99.999%)*365*24*60=5.26分钟,表示1年时间里最多中断5.26分钟。1个9(一年36.5天)和2个9(一年3.65天)的故障时间太长,已经谈不上可靠性了,更谈不上高可用了6个9(一年31秒)要求又太高了.从哲学上讲,故障出现是不可以避免的,高可用做的只能是尽量避免已知可能故障的出现,某些极端情况无法避免则保障服务的快速恢复,除了某些科研方面非常严谨的场景可能会要求打到6个9以及以上,但这样可能会比5个9付出几倍的成本

那么达到几个9算是高可用了呢,一定要达到5个9才算是高可用吗? 当然不是,可以参考项目管理中三要素(时间,质量,成本)的关系,高可用依然是根据具体的业务场景以及时间,成本,评估服务的实现需要达到几个9就算高可用.但互联网场景下,通常至少要达到4个9,才算高可用,比如像支付等重要场景一般会要求达到5个9

手段

机房

机房选择

网络因素

地理位置

成本

多机房

本地机房

专线
轻量级数据同步

异地机房

数据隔离与聚合

安全

黑客(使用某种手段(非流量攻击)导致服务故障)

数据安全

操作系统安全

硬件安全

恶意流量

爬虫

作弊外挂(刷票软件,秒杀软件等)

刷单,刷流量

硬件

虚拟化

中间件

限流

分流

负载均衡

架构设计(一般研发人员最关心的这部分,但架构师要关注全貌)

高可用设计

分布式非单点

重试

隔离

高并发设计(另一系列)

故障快速恢复设计

可回滚

自动降级以及恢复

熔断

trace日志记录,收集,分析,查询

流程

灰度上线

自动化部署

自动化发布

自动化测试

监控报警

节点存活

硬件

流量监控

中间件健康状态

压测

线下压测

线上压测

预案(上面的故障处理基本指的一般都是自动,预案是需要人的判断然后进行的操作,具体场景具体制定)

回滚

手动降级

概念详细说明

降级

指的是当某种共享资源即将不足时,将某些流程中的可跳过的服务进行跳过或同步改异步等措施,确保流程中主要步骤由足够在资源

熔断

指的是当某个服务在连续几次请求都不可用的时候,下次请求的流程中不再访问该服务,然后异步检测此服务是否恢复,检测恢复后自动再次尝试请求此服务

— 未完待续

转载请注明原文地址: https://www.6miu.com/read-250282.html

最新回复(0)