分布式架构

从集中式到分布式

集中式的特点
分布式的特点

分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统。——《分布式系统概念与设计》

  • 分布性

  • 对等性

  • 并发性

  • 缺乏全局时钟(事件、消息的顺序)

  • 故障总是会发生

分布式环境的各种问题
  • 通信异常

  • 网络分区(脑裂)

  • 三态(成功、失败、超时)

  • 节点故障

从ACID到CAP/BASE

ACID(Transaction)
  • 原子性(Atomicity)

  • 一致性(Consistency)

  • 隔离性(Isolation)

隔离级别 脏读(Dirty Read) 不可重复读(NonRepeatable Read) 幻读(Phantom Read)
未提交读(Read Uncommitted) 可能 可能 可能
已提交读(Read Committed) 不可能 可能 可能
可重复读(Repeatable Read) 不可能 不可能 可能
可串行化(Serializable ) 不可能 不可能 不可能
  • 持久性(Durability)
分布式事务
CAP和BASE理论
CAP
  • 一致性(Consistency)

  • 可用性(Availability)

  • 分区容错性(Partition Tolerance)

BASE
  • Basically Available(基本可用)

  • Soft state(软状态)

  • Eventually consistent(最终一致性)

    • 因果一致性(Causal consistency)

    • 读己之所写(Read your writes)

    • 会话一致性(Session consistency)

    • 单调读一致性(Monotonic read consistency)

    • 单调写一致性(Monotoic write consistency)