冗余意味着重复关键数据或服务,旨在提高系统的可靠性。 例如,如果单个服务器上只存储一个文件副本,则丢失该服务器意味着丢失该文件。 我们可以创建冗余副本来解决此问题。
同样的原则也适用于服务。 如果我们的系统中有关键服务,确保同时运行多个备份服务可以防止单个节点发生故障。
在系统中创建冗余可以消除单点故障,并在危机中根据需要提供备份。 例如,如果我们在生产中运行了两个服务实例,并且如果一个服务失败或降级,则系统可以故障转移到另一个实例。 这些故障转移可以自动发生,也可以手动完成。
服务冗余的另一个重要部分是创建无共享架构,其中每个节点可以彼此独立地操作。 不应该有任何中央服务管理状态或协调其他节点的活动。 这对可扩展性有很大帮助,因为可以在没有特殊条件或知识的情况下添加新服务器,最重要的是,由于没有单点故障,这些系统对故障更具弹性。
通常备份会在3个机器上。2个机器位于同一个机架上,可以更快的复制数据。另一个机器则在另一个城市的机房里,为了防止自然灾害的破坏。
MYSQL REPILCA
NOSQL REPLICA
在一致性HASH环上存三份。