分布式与集群的区别与联系
分布式与集群都是由多节点组成。集群节点之间不需要协调通信,而分布式系统中的通信必不可少。
分布式事务ACID
A:原子性:一个操作只能有两种结果,要么成功,要么失败
C: 一致性:事务必须始终保持系统处于一致的状态,不管在任何给定的时间并发事务有多少。
I: 隔离性:同一时间只能一个事务进行操作,对别的事务隔离
D:持久性:在事务完成以后,该事务对数据库所作的更改便持久的保存在数据库之中,并不会被回滚。
分布式CAP理论
一个分布式系统不可能同时满足一致性,可用性,和分区容错性,一般是满足
一致性(Consistency):所有服务器的数据一致
分布式环境下的一致性一般指的都是在多个数据副本的情况下,数据要保持一致,如果一个写操作之后,需要所有读取操作都能够读到正确的结果
可用性(Availability):系统必须一直处于可用的状态,比如在规定时间内做出响应
分区容错性(Partition tolerance):多台设备分布的情况下,一台设备崩了不能影响其他设备
redis集群
一:主从同步
一般一个master,两个slave。
master可读可写,slave只读不写。当master挂了的时候可以通过手动模式将slave升级为master,或者通过哨兵模式自动升级
mysql集群
(1)如何存储数据
Mysql cluster数据节点组内主从同步采用的是同步复制,来保证组内节点数据的一致性。一般通过两阶段提交协议来实现