分布式理论 | 青训营笔记

114 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 11 天。今天学习了分布式理论的基本概念和相关知识。

什么是分布式

分布式系统是计算机程序的集合,这些程序利用跨多个独立计算节点的计算资源来实现共同的目标。分布式的具体应用包含分布式计算、分布式存储、分布式数据库等。

image.png

以下是常见的分布式系统 image.png

故障类型

分布式系统存在一些单机系统没有的挑战,按故障可分为以下类型。

image.png

拜占庭将军问题

image.png

共识和一致性问题

image.png

分布式理论

CAP理论

C:多个副本一致性、A:服务的可用性、P:分布式不同分区的容错性。

image.png

ACID理论

事务是数据库管理系统执行过程中的一个基本操作,ACID是事务的四个特性。

原子性(atomicity)、一致性(consistency)、隔离性(isolation)、持久性(durability)

image.png

BASE理论

BASE理论是对CAP中一致性和可用性权衡的结果,其来源于对大型互联网分布式时间的总结,是基于CAP定理逐步演化而来。

核心思想:

Basically Available(基本可用):假设系统出现了不可预知的故障,但还是能用。

Soft state(软状态):允许系统中数据存在中间态,并认为该状态不影响系统的整体可用性,即允许系统在多个不同节点的数据副本存在数据延时。

Eventually consistent(最终一致性):系统能够保证在没有其他新的更新操作情况下,数据最终一定能够达到一致的状态,因此所有客户端对系统的数据访问最终都获取到最新的值。