多主机与点对点数据库架构

时间:2018-03-02 03:05:29

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

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

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

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

然后(实际)多主机和点对点(P2P)之间的区别是什么?在P2P系统中,任何读取都会在本地执行并返回,并且任何写入都会被写入在当地,然后复制到所有同行... 所以他们不是同一个人?!

2 个答案:

答案 0 :(得分:1)

主从设备

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

Master-Master或Multi Master

  • 任何服务器都可以进行读取/写入。
  • 所有服务器均同步复制。因此数据始终是一致的。
  • 可以配置用于异步复制,但是随后它变得类似于点对点体系结构
  • 只有两个主控者存在脑裂问题。至少拥有3位硕士可以解决。
  • CouchDB

点对点

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

领导者追随者

  • 只有领导者提供读/写。
  • 跟随者仅异步复制。
  • 可以将N个关注者配置为同步复制,以防止领导者跌倒时数据丢失。
  • 卡夫卡

答案 1 :(得分:0)

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

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

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

根据两种情况下的技术和实现,可以由群集中的任何节点提供服务。