# 双机架构 --- ## 主备复制 主备架构中的“备机”主要还是起到一个备份作用,并不承担实际的业务读写操作,如果要把备机改为主机,需要人工操作。  - 主备复制架构的优点就是简单,表现有:对于客户端来说,不需要感知备机的存在,即使灾难恢复后,原来的备机被人工修改为主机后,对于客户端来说,只是认为主机的地址换了而已,无须知道是原来的备机升级为主机。对于主机和备机来说,双方只需要进行数据复制即可,无须进行状态判断和主备切换这类复杂的操作。 - 主备复制架构的缺点主要有:备机仅仅只为备份,并没有提供读写操作,硬件成本上有浪费。故障后需要人工干预,无法自动恢复。人工处理的效率是很低的,可能打电话找到能够操作的人就耗费了 10 分钟,甚至如果是深更半夜,出了故障都没人知道。人工在执行恢复操作的过程中也容易出错,因为这类操作并不常见,可能 1 年就 2、3 次,实际操作的时候很可能遇到各种意想不到的问题。 ## 主从复制 主从复制和主备复制只有一字之差,“从”意思是“随从、仆从”,“备”的意思是备份。我们可以理解为仆从是要帮主人干活的,这里的干活就是承担“读”的操作。也就是说,主机负责读写操作,从机只负责读操作,不负责写操作。  - 优点有:主从复制在主机故障时,读操作相关的业务可以继续运行。主从复制架构的从机提供读操作,发挥了硬件的性能。 - 缺点有:主从复制架构中,客户端需要感知主从关系,并将不同的操作发给不同的机器进行处理,复杂度比主备复制要高。主从复制架构中,从机提供读业务,如果主从复制延迟比较大,业务会因为数据不一致出现问题。故障时需要人工干预。 ## 双机切换 - 主备复制和主从复制方案存在两个共性的问题:主机故障后,无法进行写操作。 - 如果主机无法恢复,需要人工指定新的主机角色。  ### 常见的架构 - 互连式  - 中介式  开源方案已经有比较成熟的中介式解决方案,例如 ZooKeeper 和 Keepalived。 - 模拟式 模拟式指主备机之间并不传递任何状态数据,而是备机模拟成一个客户端,向主机发起模拟的读写操作,根据读写操作的响应情况来判断主机的状态。  ## 主主复制 主主复制指的是两台机器都是主机,互相将数据复制给对方,客户端可以任意挑选其中一台机器进行读写操作 (双向复制数据)  ###### tags: `架构设计`
×
Sign in
Email
Password
Forgot password
or
By clicking below, you agree to our
terms of service
.
Sign in via Facebook
Sign in via Twitter
Sign in via GitHub
Sign in via Dropbox
Sign in with Wallet
Wallet (
)
Connect another wallet
New to HackMD?
Sign up