复制与冗余

Replication vs Redundancy

我目前正在阅读有关分布式系统的文章,我面临两个以类似方式描述的不同术语:复制冗余

任何人都可以部分解释每个术语吗?

这两个术语乍一看非常相似,但它们之间存在显着差异。

这两个术语的共同点是每个术语都与系统中的更多nodes/components/processes有关。

  1. Redundancy - 描述了一个事实,即您在系统中有多个 node/component/process,这对于处理故障转移非常有用。如果您的一个节点出现故障,系统中的另一个节点可以接管并继续运行。冗余可以是:
  • active - 所有流量同时到达所有节点
  • 被动 - 一个节点接收流量,如果发生故障,将切换到另一个节点。

“冗余是节点的重复,以防其中一些节点出现故障”

  1. Replication - 包括冗余,但涉及将数据从一个节点复制到另一个节点或节点之间的状态同步。复制完成的一个示例是在形成集群的数据库或 MQ 级别。复制可以是:
  • 活跃:每个节点接收每条消息,以便与其余节点保持同步
  • passive:这是leader-follower模型,leader接收所有的请求,然后转发给followers。

"复制是冗余节点之间状态的同步。"

冗余增加可靠性复制确保一致性.

冗余: 复制关键组件(节点、流程)以实现可靠性。冗余有助于避免单点故障。例如,如果我们有两个实例运行,然后其中一个发生故障,那么系统可以切换到另一个。

复制: 共享信息以确保冗余资源之间一致性