第23讲:知其然,知其所以然:数据的持久化和一致性
- 服务高可用就要部署多个节点,数据为了高可用就要存放多个备份
- 读写服务是不同的,有了数据副本,一致性就成了课题
- 强一致性:读取的操作总是能获取最近一次写入的数据,Oracle、Mysql都符合强一致性
- 弱一致性:读操作并不能保证可以取得最新一次写入的数据
- 弱一致性常被用于缓存,不需要一定是最新的,即使更新了服务端也不会通知你
- 最终一致性:最常见的一致性模型,写操作后立即进行读操作,可能无法读到更新后的值,但是如果经过了指定的时间窗口就可以读到更新后的值
数据高可用的技术
- 1.简单备份:对数据全量或增量的复制,在个人电脑上经常见
- 2.Multi-Master:多个主节点,各自都提供完整的读写服务,数据备份之间互相拷贝为了不影响读写请求的性能,通常是异步进行的