MST

星途 面试题库

面试题:分布式系统中常见的数据同步策略有哪些及适用场景

请简要阐述分布式系统里几种常见的数据同步策略,如主从同步、多活数据中心同步等,并说明每种策略通常适用于哪些业务场景。
11.2万 热度难度
后端开发分布式系统

知识考点

AI 面试

面试题答案

一键面试

主从同步

  1. 策略简述:存在一个主节点(Master)和多个从节点(Slave)。主节点负责处理写操作,数据更新后将日志或变更信息同步给从节点,从节点接收并应用这些变更以保持数据一致性。从节点主要用于读操作,分担主节点读压力。
  2. 适用场景
    • 读多写少场景:例如新闻资讯网站,文章发布(写操作)相对较少,而用户浏览(读操作)量巨大。主节点进行文章发布,从节点为大量用户提供浏览服务。
    • 数据一致性要求相对不高实时性场景:如某些允许一定时间内数据不一致的统计类业务,允许从节点数据稍有延迟。

多活数据中心同步

  1. 策略简述:多个数据中心同时对外提供服务,每个数据中心都具备完整或部分业务处理能力。数据在多个数据中心之间进行同步,以保证各个数据中心的数据一致性。同步方式可以是异步或同步的,异步同步一般有一定延迟,同步同步则实时性更强但对网络要求高。
  2. 适用场景
    • 高可用性要求极高场景:如金融交易系统,任何一个数据中心故障都不能影响业务的正常进行,多个数据中心同时运行,一个故障其他数据中心仍能提供服务。
    • 地域分布广且需快速响应场景:全球电商平台,不同地区的数据中心可快速响应当地用户请求,同时通过数据同步保持数据一致性。

对等同步(P2P同步)

  1. 策略简述:系统中每个节点地位平等,无主从之分。任何一个节点的数据变更都会传播给其他所有节点,节点间相互同步数据。
  2. 适用场景
    • 去中心化应用场景:如区块链系统,各个节点共同维护数据账本,每个节点都可以进行数据验证和同步,不存在单一的控制中心。
    • 小规模且数据更新频率不高场景:如小型分布式数据库,节点数量不多,数据变更不频繁,采用对等同步可避免复杂的主从架构。

基于日志的同步

  1. 策略简述:主节点将数据操作记录到日志中,然后将日志发送给从节点。从节点按照日志顺序重新执行这些操作,从而达到数据同步的目的。这种方式能保证数据操作的顺序性和一致性。
  2. 适用场景
    • 对数据操作顺序敏感场景:如数据库事务处理,保证事务在各个节点按相同顺序执行,确保数据一致性。
    • 数据恢复场景:当从节点数据丢失或损坏时,可通过重放日志恢复到最新状态。