美文网首页
分布式系统 小合集

分布式系统 小合集

作者: LinkinStar | 来源:发表于2020-10-19 20:59 被阅读0次

    分布式系统常见定义

    CAP

    定义

    • 一致性(Consistency)
    • 可用性(Availability)
    • 分区容错性(Partition Tolerance)

    一致性

    任意时刻,访问任意节点,读取数据一致,否则读取失败。

    一致性要求的就是一致,要么读取失败,只要读取成功那么数据就一定是一致的。

    可用性

    任意时刻,访问任意节点,都能正常返回数据,但数据不保证一致。

    可用性要求就是可用,无论你怎么请求,我都能给你返回数据,但是不保证返回的数据是一致的。

    分区容错性

    当节点间出现任意数量的消息丢失,系统任然可以继续提供服务。

    分区容错要求整个集群对内部的节点故障的容错能力。

    分区容错性必须保证,对于分布式系统来说这是基础,如果出现节点间的异常而导致整个集群都无法正常工作,这样的分布式系统就如同单点没有区别了。一挂全挂。

    Base

    定义

    • 基本可用 Basically Available
    • 软状态 Soft state
    • 最终一致 Eventually consistent

    基本可用

    假设系统出现了不可预知的故障,但是只是原先的体验或者性能受到影响,但是主功能可用

    • 流量削峰:将峰值流量平摊到各个时段或者
    • 延迟相应:延迟处理的时间,让用户等待排队
    • 服务降级:不重要的服务降级,保证主服务正常
    • 过载保护:请求排队超过阈值直接丢弃

    软状态

    允许系统中的数据存在中间状态,这个状态不影响系统的整体可用;允许系统不同节点间,数据副本存在短暂的不一 致。

    最终一致性

    在没有其他更新操作的情况下,数据最终能够达到一致的状态,所有节点最终都能拿到最新的值。

    TCC

    定义

    • 尝试 Try
    • 确认 Confirm
    • 取消 Cancel

    Try

    向每个执行节点发送 需要执行的命令

    如果所有节点均同意 -> 则进入 Confirm 阶段

    如果存在节点不同意 -> 则进入 Cancel 阶段

    Confirm

    每个节点执行 命令 并提交

    Concel

    每个节执行 取消 操作

    小合集

    难过又厉害的 Paxos
    能忍的 PBFT
    有责任感的 zab
    优秀而惊艳的 raft
    巧妙的 一致性 hash
    流言蜚语 Gossip

    相关文章

      网友评论

          本文标题:分布式系统 小合集

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