【问题标题】:Multi Master vs Peer-to-Peer DB Architectures多主与对等数据库架构
【发布时间】:2018-08-10 06:13:38
【问题描述】:

我的理解是在多主数据库架构中:

  • 您有 2 个以上的数据库服务器,都充当读/写主机;和
  • 由某种类型的负载平衡器来平衡这些多个主服务器之间的操作;和
  • 每当服务器获得读取时,它会在本地获取并返回查询的数据;和
  • 每当服务器获得写入时,它会在本地写入 + 提交,然后将写入实时复制到其他服务器(这就是系统隐式需要负载平衡器的原因,以防止相同的写入进入 2+不同的主人同时);和
  • 您可以进行主动/主动或主动/被动设置。使用前者,负载均衡器真正平衡了所有节点的写入。 我不太了解后者(主动/被动)

首先,如果我上面所说的任何内容不正确,请先纠正我或为我澄清!假设我或多或少达到目标:

那么 Multi-Master 和 Peer-To-Peer (P2P) 之间(真正的)区别是什么? 在 P2P 系统中,任何读取都会在本地执行并返回,而任何写入都会写入在本地,然后复制到所有对等点...他们不是同一个吗?!

【问题讨论】:

    标签: database-design architecture p2p multi-master-replication


    【解决方案1】:

    主从

    • 只有 Master 可以写入。
    • 从属服务器从主服务器异步复制并仅提供读取查询。
    • 为了防止数据丢失,当至少 n 个从属设备也与主设备一起写入时,可以将提交标记为已完成。
    • MySql

    大师 - 大师或多大师

    • 任何服务器都可以读取/写入。
    • 所有服务器同步复制。所以数据总是一致的。
    • 可以配置为异步复制,但随后会变得类似于对等架构
    • 只有两个主机存在脑裂问题。至少有 3 位主人即可解决。
    • 沙发数据库

    点对点

    • 所有服务器都可以读取/写入。
    • 服务器之间的异步复制,因此读取可以不同。 (最终一致性)
    • Cassandra,弹性搜索

    领导追随者

    • 只有领导者提供读/写服务。
    • 追随者只能异步复制。
    • 可以为 N 个追随者配置同步复制,以防止领导者宕机时数据丢失。
    • 卡夫卡

    【讨论】:

    【解决方案2】:

    它们可能看起来相似,但存在细微差别,希望这会有所帮助:

    在 Active/Active 中,写入可以转到任何服务器,然后级联到集群中的其他服务器。

    在主动/被动读取中,只会到达集群中的单个节点,然后级联到其他节点。

    根据两种场景中的技术和实现,集群中的任何节点都可以为读取提供服务。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-01-23
      • 2020-07-25
      • 1970-01-01
      • 1970-01-01
      • 2022-01-15
      • 1970-01-01
      • 2010-10-27
      • 1970-01-01
      相关资源
      最近更新 更多