【问题标题】:How does a single-node system get Availability in CAP theorem?单节点系统如何获得 CAP 定理中的可用性?
【发布时间】:2021-12-27 14:40:55
【问题描述】:

我有一个问题。我阅读了许多关于 CAP 定理的博客和网站。他们说单节点系统是 CA,但是如果该单节点出现故障,它怎么可能是“A”?因为如果是这样,系统将不可用,对吗? CAP中的“可用性”是否等于分布式系统HA中的“可用性”?

【问题讨论】:

  • 我认为这是在分区in容差范围内。分区容差基本上意味着如果系统的某些部分出现故障,系统仍然可以运行。如果单节点系统出现故障,并且无法运行,则它不是分区容错的。
  • 另外,我认为这个问题应该移到:https://cs.stackexchange.com/
  • @Effie 我明白为什么它不是“P”,但是“A”呢?如果单节点系统宕机,会违反“A”?
  • 我猜它是一致的并且在没有分区的任何时候都可用。当有分区时,没有任何保证。
  • 但你应该提出这个问题,我认为那里的人更了解:)

标签: high-availability distributed-system availability cap-theorem


【解决方案1】:

这不是(上限)可用性的定义,它不是关于能够回复而是拒绝这样做,例如节点收到一条消息并且它无法联系集群的其余部分,它可以做什么: i) 响应从而成为 A 而不是 C; ii) 不回应,成为 C 但不是 A。有关说明性示例,请参阅我之前的回答 here

至于您的具体示例,如果集群不存在,我不确定推理 CAP 是否有意义,我相信您至少需要一个节点。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-07-01
    • 2023-04-09
    相关资源
    最近更新 更多