前言
Master-slave 架构可以说是最常用的架构,关系型数据库诸如:mysql,postgreSql,oracle,Nosql诸如:MongoDb,消息队列诸如:Kafka,RabbitMQ等都使用了这种架构,本文将先简要介绍此种架构并介绍高可用Master-slave架构中的一些坑,以及应对之策。
Master-Slave架构的原理
- 副本之一会被指定为Leader,或者是主库,写入请求会发送给主库,主库会将数据写入自己的本地
- 每当主库写完后,会将变更的日志发送从库,从库按照主库更新的顺序应用所有写入
- 客户端可以从任何库读取数据
同步复制和异步复制
所以通常情况下,这种架构一般都是用完全异步的方式进行同步,这种情况下,如果主库失效ÿ