高并发系统设计40讲之 如何做到高可用

可用性的度量

MTBF(Mean Time Between Failure)是平均故障间隔的意思,代表两次故障的间隔时间,也就是系统正常运转的平均时间。这个时间越长,系统稳定性越高。
MTTR(Mean Time To Repair)表示故障的平均恢复时间,也可以理解为平均故障时间。这个值越小,故障对于用户的影响越小。
可用性与 MTBF 和 MTTR 的值息息相关,我们可以用下面的公式表示它们之间的关系:

Availability = MTBF / (MTBF + MTTR)

高可用系统设计的思路

1. 系统设计
  1. 预先考虑如何自动化地发现故障,发生故障之后要如何解决,
    对应的优化方法:failover(故障转移)、超时控制以及降级和限流。
    一般来说,发生 failover 的节点可能有两种情况:1、 是在完全对等的节点之间做 failover。2、 是在不对等的节点之间,即系统中存在主节点也存在备节点—使用最广泛的故障检测机制是“心跳”
  2. 系统间调用超时的控制 如何确定超时时间-----通过收集系统之间的调用日志,统计比如说 99% 的响应时间是怎样的,然后依据这个时间来指定超时时间。 超时时间不是一成不变的,需要在后面的系统维护过程中不断的修改
  3. 降级-----保证核心服务的稳定而牺牲非核心服务。
  4. 限流-----通过对并发的请求进行限速来保护系统,超过请求次数直接返回错误

冗余,服务冗余+数据冗余+设备冗余—主备,负载均衡,failover
取舍----降级,限流,熔断,超时控制

2. 系统运维

灰度发布、故障演练、监控报警

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值