分布式理论 | 青训营笔记

54 阅读2分钟

分布式理论

分布式概述

  • 分布式系统是计算机程序的集合

  • 可分为分布式计算、存储、数据等

    • 优势:

      • 去中心化
      • 低成本
      • 弹性
      • 资源共享
      • 可靠性高
    • 挑战:

      • 普遍的节点故障
      • 不可靠的网络
      • 异构的机器与硬件环境
      • 安全
  • 为什么使用分布式?

    • image-20230202113723203
    • 分布式是必备的开发技能

分布式存储

  • image-20230202113838086

分布式数据库

  • image-20230202113855887

分布式计算

  • image-20230202113908198

系统模型

故障模型

  • 六大类型(处理的难易程度)

    • image-20230202113939027
    • 出错方面:正确性,时间和原因
  • 工作中常见的故障

    • image-20230202114517399

理论基础

  • 时间和事件顺序

    • 事件若不能传递,则是在同一时间发生的

      • image-20230202142930572
    • 逻辑时钟:

      • image-20230202142901096

CAP理论

  • Consistence

    • 一致性
  • availability

    • 可用性
  • network partitioining

    • 分区容错性
  • image-20230202143212420

    用于数据库领域,同样可应用于分布式存储

这是我参与「第五届青训营 」伴学笔记创作活动的第 20 天

ACID理论

  • 事务的四个特性ACID

    • 原子性

      • 要求所有操作要么全部成功,要么全部失败
    • 一致性

      • 事务执行之前和执行之后都必须处于一致性状态。比如转钱前后总额不变
    • 隔离性

      • 事务之间不被其他事务干扰
    • 持久性

      • 事务一旦被提交那么改变是永久性的

image-20230202143740125

BASE理论

  • 是CAP中一致性和可用性权衡的结果

image-20230202143823994

分布式事务

二阶段提交

  • 为了使基于分布式系统架构下的所有节点在进行事务提交时标尺一致性而设计的一种演算法

  • 三个假设

    • image-20230202144417640

MVCC

  • 悲观锁:

    • 操作时锁住,操作完成释放
  • 乐观锁:

    • 不会上锁,最后时刻进行判断
    • 若遇到冲突会重新判断