高可用性(HA)与容错

时间:2017-06-16 11:48:18

标签: high-availability fault-tolerance

在Google上阅读几篇关于this的文章,但仍然不清楚它们之间的区别是什么?

当一个组件发生故障(无论是硬件还是软件)时,两者的目的似乎都提供了服务,备份/辅助组件立即接管操作,以便不会丢失服务。

我的理解:

根据我的理解,不同之处在于容错系统中的内存数据中没有丢失任何数据,这与HA不同。例如:如果我们的Web服务器集群具有粘性会话但没有会话复制,则它是HA系统但不是容错系统。原因是当一个节点出现故障,内存数据丢失但是如果我们有会话复制以及棒会话那么它就可以被称为容错系统。这是对的吗?

2 个答案:

答案 0 :(得分:1)

最大的区别是您的企业可以承受的停机时间。您可以查看这个youtube video来详细解释事情。

  • 如果您说您的企业无法承受停机时间,则其容错能力。因此,为此,您应该有运行并同步的并行计算机。因此,此 ADDS费用 ,但是如果有问题,您可以切换。
  • 现在,您的企业可以承受较少的停机时间,然后降低其高可用性。在这里,我们不会产生费用,但是您有停机时间

请检查顶部提供的youtube视频链接,也可以查看下图。

Fault tolerance vs High Availability

还添加了灾难恢复,这可能会增加混乱。灾难恢复与一台VM或一台计算机无关,而是整个区域。因此,就像该地区发生洪水或地震一样,您不仅需要提升机器,还需要动员人员,提升基础设施等等。

答案 1 :(得分:0)

在您说明的示例中-具有粘性会话和非复制会话的Web服务器群集将继续满足下一个请求(显然,面临问题的请求将被终止,或者将向用户提供错误)。这是高可用性。但是,即使存在重复的会话,一个真正的容错系统仍将能够继续为用户提供可接受的响应,尽管当前请求由于某种自动校正数据状态而失败。通常,在Web服务器中,这种容错能力并不是固有的,而是由捕获任何异常的层(在发送输出之前),更正要复制的内存中数据,调用另一台能够得到正确的回应。关键是,它应该全部自动,并且在系统自动更正的同时,可以预期并且可以接受一定程度的性能降级。因此,高可用性系统不会仅仅因为可以在下一个请求上使用而承担维护正确数据的负担,但是真正的容错系统需要维护一致的数据。