美文网首页
复杂度来源:高可用

复杂度来源:高可用

作者: 空谷幽心 | 来源:发表于2018-07-22 21:36 被阅读23次

    笔记

    • 高可用定义:系统无中断地执行其功能的能力,代表系统的可用性程度,是进行系统设计时的准则之一。

    • 系统的高可用方案五花八门,但万变不离其宗,本质上都是通过“冗余”来实现高可用。

    • 高性能增加机器目的在于“扩展”处理性能;高可用增加机器目的在于“冗余”处理单元。

    • 分布式领域里面有一个著名的 CAP 定理,从理论上论证了存储高可用的复杂度。也就是说,存储高可用不可能同时满足“一致性、可用性、分区容错性”,最多满足其中两个,这就要求我们在做架构设计时结合业务进行取舍。

    • 无论是计算高可用还是存储高可用,其基础都是“状态决策”,即系统需要能够判断当前的状态是正常还是异常,如果出现了异常就要采取行动来保证高可用。

    • 几种常见的决策方式:

      1. 独裁式。存在一个独立的决策主体,我们姑且称它为“决策者”,负责收集信息然后进行决策;所有冗余的个体,我们姑且称它为“上报者”,都将状态信息发送给决策者。

        de778bc2-49ad-4450-afa6-9bf153601ffb.png
      2. 协商式。两个独立的个体通过交流信息,然后根据规则进行决策,最常用的协商式决策就是主备决策。

        361b8168-0d41-4f1d-94f7-9f1d69d1666c.png
      3. 民主式。个独立的个体通过投票的方式来进行状态决策。

        d3054940-3b24-4fb8-92c0-92667d78a83b.png

    理解与思考

    • 李老师在这里着重讲的是通过冗余备份来提供高可用。我觉得,提供系统本身的稳定性也是一个重要的方面。

    • 高可用没有完美的解决方法。需要站在业务的角度,分析哪方面的原因会导致宕机。针对这些原因定制一个合适的解决方案。

    思考题

    高性能和高可用是很多系统的核心复杂度,你认为哪个会更复杂一些?理由是什么?
    高可用。涉及到状态处理,这是最难控制和把握的地方。

    相关文章

      网友评论

          本文标题:复杂度来源:高可用

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