zoukankan      html  css  js  c++  java
  • 分布式系统设计相关原理

    CAP原理

    一致性(consistency):有的节点上的数据时刻保持同步。对一个写操作,如果系统返回了成功,那么之后到达的读请求都必须读到这个新的数据。

    可用性(Availablitity):在集群中一部分节点故障后,集群整体是否还能响应客服端的读写请求。

    分区容忍性(partition-tolerance):分区容错性可以理解为系统在存在网络分区的情况下仍可以接受请求。

    然而一个分布式系统不可能同时满足这三个需求,分布式架构设计时,必须做出取舍,分区容忍性是基本要求,否则就失去了价值,一致性和可用性之间取一个平衡,大多数web应用,其实并不需要强一致性,因此牺牲一致性而换取可用性。


    强一致性:关系型数据库,要求更新过的数据能被后续的访问都能看到

    最终一致性:经过一段时间后要求能访问到更新后的数据。


    Base 原理

    BASE是 Basically Available、 Soft state、 Eventually consistent三个词组的简写,是对CAP中C和A的延伸。CAP、BASE理论是当前在互联网领域非常流行的 NOSQL的理论基础

    Basically Available:基本可用,即数据一致性能够基本满足二八定律,即至少保证80%一致性,剩下20%就不要过于纠结。

    Soft- state:软状态/柔性事务,即状态可以有一段时间的不同步。在不过分追求数据一致性(强一致性)前提下可考虑软状态策略,例如把数据( State)缓存在客户端一段时间,在一段时间过后,如果客户端没有再次刷新状态的请求的话,就清除此缓存(Soft),这个状态就会消失。

    Eventual consistency:最终一致性,即在某一段短时间内允许数据不一致,但经过一段较长时间(这里的一段时间多数是业务能够容忍的延迟),等所有节点上数据的拷贝都整合在一起的时候,数据会最终达到完全一致。

  • 相关阅读:
    bom案例2-弹出层
    bom案例1-div拖拽
    bom-scroll
    bom-client
    bom-offset
    9. 阻塞队列
    8. 读写锁
    7. CountDownLatch、CyclicBarrier、Semaphore
    6. Callable
    5. 集合不安全
  • 原文地址:https://www.cnblogs.com/dingpeng9055/p/11213891.html
Copyright © 2011-2022 走看看