分布式系统
为什么对数据的复制有需求
- 为了提升系统可用性,防止单点故障导致系统不可用
- 提升系统整体性能,可以通过负载均衡对用户的操作进行分发
数据复制带来的问题
数据复制会带来数据一致性问题,就是指对一个副本进行更新时,也能保证更新其他副本,否则数据就会存在不一致的问题解决问题的一种思路
将写入的动作阻塞,知道数据复制完成,才完成写入动作。
但这回造成性能急剧下降,如果一直在更新,那就一直在阻塞。
无法找到既能保证系统一致性,又不影响系统性能的方案。
在这种背景下,总结出如下一致性级别一致性级别
强一致性
就像上面的解决方案,对系统影响比较大弱一致性
不承诺在写入后马上能读到写入的值,也不承诺过多久会数据一致,但会尽可能保证到某个时间级别后(比如秒级别),数据达到一致状态。
还可以细分为:
