分布式—分布式系统 事务ACID CAP理论 BASE理论

2019-03-09  本文已影响0人  苡仁ilss

分布式的定义

分布式的特点

  1. 分布性:空间上随意分布
  2. 对等性:分布式系统中计算机没有主/从之分,每个计算机节点都是对等的。
  3. 并发性:并发操作共享的资源
  4. 缺乏全局时钟:执行事件难以确定先后顺序。缺乏一个全局的时钟序列。
  5. 故障总会发生:预设和未预设的故障问题都会发生

分布式环境的问题

  1. 通信异常:网络问题、硬件问题,内存访问通常在纳秒级别(大约10ns),网络访问延迟在毫秒级别,网络延迟是内存访问的上百倍。
  2. 网络分区:网络异常导致只有部分节点能正常通信,极端情况会出现局部集群需要独立完成所有任务,包括对数据的事务处理,这就对分布式一致性产生了挑战。
  3. 三态:成功、失败、超时,超时通常是由请求未送达(如发送中丢失)、响应未送达
  4. 节点故障:组成分布式系统环境的节点出现宕机。每个节点都可能故障。

ACID与CAP/BASE

ACID

事务为数据库操作保证数据一致性提供支持

  1. 原子性(Atomicity):事务必须是一个原子操作,要么不做,要么全做。失败就撤销已做的
  2. 一致性(Consistency):事务的操作保证操作的数据从一个一致性状态到另外一个一致性状态。
  3. 隔离性(Isolation):是指在并发环境中的事务相互隔离,互相不干扰,一般通过悲观或者乐观锁实现。
  4. 持久性(Durability):数据永久改变。
  1. 读未提交(Read Uncommitted):隔离级别最低;一个事务可以读取到另一个事务还未提交的数据。会产生脏读、不可重复读、幻读
  2. 读已提交(Read Committed):只允许读以提交的数据,防止脏读,会产生不可重复读、幻读
  3. 可重复读(Repeatable Read):事务不结束,别的事务不可以修改记录,解决了脏读、不可重复读,会产生幻读。
  4. 串行化(Serialiizable):事务串行执行,一个接一个处理,不能并发执行。

分布式事务

CAP理论

  1. 一致性(Consistency): 保证多个节点系统中,某个节点更改数据过后,对任意节点获取的数据是最新的。
  2. 可用性(Availability):处理数据请求能在有限的时间内返回结果。
  3. 分区容错性(Partition tolerance):保证分布式系统在遇到故障时,能对外提供满足一致性和可用性的服务,除非整个网络环境都发生了故障。

BASE理论

  1. 基本可用(Basically Available):允许损失部分可用性。可以在时间上或者功能上少部分损失。
  2. 软状态(Soft state):允许各个节点数据同步过程存在延迟。
  3. 最终一致性(Eventually consistent):所有数据副本经过更新后一段时间会变成一致的。
上一篇下一篇

猜你喜欢

热点阅读