美文网首页
弹力设计概述

弹力设计概述

作者: 格林哈 | 来源:发表于2022-09-27 11:15 被阅读0次

1. 概述

  • 容错设计又叫弹力设计,分布式系统的各种容忍能力。
    • 容错能力(服务隔离,异步调用,请求幂等性)
    • 可伸缩性(有/无状态的服务)
    • 一致性(补偿事务,重试)
    • 应对大流量的能力(熔断,降级)

2. 常见设计

  1. 隔离设计
  2. 异步通讯设计
  3. 幂等性设计
  4. 服务的状态
  5. 补偿事务
  6. 重试设计
  7. 熔断设计
  8. 限流设计
  9. 降级设计

3. 系统可用性测量

  • 对于分布式系统的容错设计,也叫弹力设计

    • 意思是,系统在不健康,不顺,甚至出错的情况下有能力hold住,能在这种逆境下力挽狂澜的能力。
  • 要做好一个设计,我们需要设计目标,通过这个目标来指导我们的设计,否则在没有明确目标的指导下,设计会变得非常不明确,并且不可预测,不可测量。

    • 可测试,可测量是软件设计中非常重要的事情。

3.1 计算系统可用性

  • 一个工业界 使用的公式
可用性 = MTTF/(MTTF+MTTR)
  • MTTF(Mean Time to Failure) 平均故障前的时间。
    • 系统能够正常运行多长时间才发生一次故障。
    • 系统的可靠性越高,MTTF 越长。
  • MTTR(Mean Time to Recovery) 平均修复时间
    • 即从故障出现到故障修复的这段时间。
    • 这段时间越短越好。
  • 常说多少个9
系统可用性% 宕机时间/年 宕机时间/月 宕机时间/周 宕机时间/天
90%(1个9) 36.5天 72小时 16.8小时 2.4小时
99%(2个9) 3.65天 7.20小时 1.68小时 14.4分
999%(3个9) 8.76小时 43.8分 10.1分 1.44分
9999%(4个9) 52.56分 4.38分 1.01分 8.66秒
99999%(5个9) 5.256分 25.9秒 6.05秒 0.87秒

相关文章

  • 弹力设计概述

    1. 概述 容错设计又叫弹力设计,分布式系统的各种容忍能力。容错能力(服务隔离,异步调用,请求幂等性)可伸缩性(有...

  • 弹力设计-“隔离设计”

    隔离方式 服务的种类 用户 按服务种类分离 存在的问题 一个查询功能需要调用多个服务,降低性能(响应时间) 大数据...

  • 弹力设计总结

    容错设计又叫弹力设计,其中着眼于分布式系统的各种“容忍”能力,包括容错能力(服务 隔离、异步调用、请求幂等性)、可...

  • 弹力设计简介

    弹力设计又叫容错设计,其中着眼于分布式系统的各种“容忍”能力,包括容错能力(服务隔离、异步调用、请求幂等性)、可伸...

  • 弹力设计之重试设计

    关于重试,这个模式应该是一个很普遍的设计模式了。当我们把单体应用服务化,尤其是微服务化,本来在一个进程内的函数调用...

  • 弹力设计之熔断设计

    熔断机制这个词肯定不陌生,它的灵感来源于我们电闸上的“保险丝”,当电压有问题时(比如短路),自动跳闸,此时电路就会...

  • 弹力设计之限流设计

    保护系统不会在过载的情况下出现问题,我们就需要限流。 我们在一些系统中都可以看到这样的设计,比如,我们的数据库访问...

  • 弹力设计之降级设计

    所谓的降级设计(Degradation),本质是为了解决资源不足和访问量过大的问题。当资源和访问量出现矛盾的时候,...

  • 弹力设计之隔离设计

    隔离设计对应的单词是 Bulkheads,中文翻译为隔板。但其实,这个术语是用在造船上的,也就是船舱里防漏水的隔板...

  • 弹力设计之异步通讯设计

    前面所说的隔离设计通常都需要对系统做解耦设计,而把一个单体系统解耦,不单单是把业务功能拆分出来,正如上面所说,拆分...

网友评论

      本文标题:弹力设计概述

      本文链接:https://www.haomeiwen.com/subject/gzyfartx.html