DT_Stone 在 <Redis 高手心法> 读书笔记 | P12 - 高可用 - 主从复制 中发帖
高可用定义:
数据尽量不丢失
尽可能提供服务
AOF 和 RDB 保证了数据不丢失. 主从复制就是增加副本.将一份数据保存到多个实例上. master → slave
读操作: master 和 slave 都可以
写操作: 现在 master 操作, 之后同步写操作到 slave
为了保证主从的数据一致, 主从架构采用读写分离. master 执行修改操作.再把相应的命令同步给 slave. salve 回放这些命令.来保证数据的一致性
为什么不能主从都可以执行写命令?
当同一份数据分别修改多次.每次修改请求分别发送到不同的实例. 会导致实例的数据副本不一致.为了保证数据一致,需要加锁协调多个实例的修改
主从复制的其他作用?
故障恢复: 当 master 宕机,其他节点依然可以提供服务
负载均衡: master 提供写服务, slave 提供读服务,分担压力
...