一.分布式架构的特点
并发性 缺乏全局时钟 分布性 对等性
二.ACID(事务)
1.原子性
全部执行
全部不执行
2.一致性
3.隔离性
3.1隔离级别
隔离级别有四个等级:未授权读取(过程可见),授权读取(过程不可见),可重复读取(),串行化(反并发)。
其中 未授权读取会导致脏读,幻读,不可重复读。
授权读取会导致幻读,不可重复读。
可重复读会导致幻读。
串行化可以避免三种读入错误,可是执行起来消耗较大。
在通常的开发当中,比较常使用的是授权读取。
幻读:事务a在读取了事务b的m条数据后,数据b在不改变之前m条数据的情况下增加了符合a之前读入条件n条数据,a再次读入时数据增加为m+n条,称为幻读。
脏读:事务a读取了事务b未提交的数据,b修改后提交,a所读为脏数据。
不可重复读:事务a读取了事务b提交成功的数据,事务b对数据进行再次提交修改。
三、两个重要理论
1.CAP理论
一致性 可用性 分区容错性三者不可兼得,上限为两个。
2.BASE理论
basically available
soft state
eventually consistent
基本可用:允许牺牲部分可用性比如响应时间或功能上的牺牲。
弱状态:在不影响整体可用性的情况下,允许系统在不同节点间数据副本的同步出现延时。
最终一致性:需要系统保证在不再进行操作时最终所有数据能够达到一致。