CAP理论
- Consistency
- Availability
- Partition tolerance
CAP理论:分布时系统中,一致性,可用性,分区容性,最多值可能满足俩个,一般分错容错性要求由保障,因此很多时候在可用性一致性之间做权衡
一致性的方案
- Master-slave
- RDBMS的读写分离就是典型的Master-slave方案
- 同步复制可以保证强一致性,但是会赢下给可用性
- 异步复制可提供高可用性但会降低一致性
- WNR
- 去中心化P2P,分布式系统中。
- N代表副本数目,W代表每次操作要保证最少写成功的副本书,R代表每次至少读取副本数
- W+R > N,可保证每次读取的数据至少由一个副本具有最新的更新
- 多个写操作的顺序难以保证,可能导致多个副本之间的写的顺序不一致。
- Paxos及其变种
- zookeeper的Zab(Zookeeper 原子广播),RAFT等
Kafka Replica
- 当某个Topic的replication-factor为N且N大于1时,每个Partition都会有N个副本(replica