分布式|青训营笔记

64 阅读2分钟

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

分布式系统是计算机程序的集合,这些程序利用跨多个独立计算节点的计算资源来实现共同的目标。可以分为分布式计算、分布式存储、分布式数据库等。
优势:

  1. 去中心化
  2. 低成本
  3. 弹性
  4. 资源共享
  5. 可靠性高

挑战:
1 普遍的节点故障
2 不可靠的网络
3 异构的机器和环境
4 安全性

拜占庭将军问题

CAP理论:

C:一致性,数据在多个副本之间保证严格一致性
A:可用性,系统提供的服务一直处于可用状态
P:分区容错性,分布式系统在遇到任何网络分区故障时,仍然能够对外提供满足一致性和可用性服务。

  • CA系统:传统数据库的代表

  • AP系统:放弃强一致性,保证高可用,不少nosql存储系统采用

  • CP系统:放弃可用性,保证数据一致性

  • ACID理论是针对CA系统而言的,通常在数据库中具有广泛意义

  • 事务是数据库系统中非常重要的概念,它是数据库管理系统执行过程中的一个逻辑单元,它能够保证一个事务中的所有操作要么全部执行,要么全都不执行

  • 数据库事务拥有四个特性ACID:\

  • 原子性(Atomicity)、一致性(Consistency)、隔离性(Isolation)和持久性(Durability)

BASE:
BASE理论是针对AP系统而言的,其来源于对大型互联网分布式实践的总结

Basically Available(基本可用):假设系统,出现了不可预知的故障,但还是能用
Soft state(软状态):允许系统中的数据存在中间状态,并认为该状态不影响系统的整体可用性
Eventually consistent(最终一致性):数据最终一定能够达到一致的状态

Quorum NWR模型

  • 三要素:

    • N:在分布式存储系统中,有多少份备份数据
    • W:代表一次成功的更新操作要求至少有w份数据写入成功
    • R: 代表一次成功的读数据操作要求至少有R份数据成功读取
    • 为了保证强一致性,需要保证 W+R>N
  • Quorum NWR模型将CAP的选择交给用户,是一种简化版的一致性模型

  • 引起的并发更新问题

    • 如果允许数据被覆盖,则并发更新容易引起一致性问题