加入收藏 | 设为首页 | 会员中心 | 我要投稿 南通站长网 (https://www.0513zz.cn/)- 专有云、图像技术、经验、数据治理、专属主机!
当前位置: 首页 > 站长资讯 > 动态 > 正文

CAP 和 Paxos 共识算法

发布时间:2021-03-04 11:16:18 所属栏目:动态 来源:互联网
导读:图所示,假如我们满足了分区容忍性,即虚线处表示两个节点发生了分区。 假如要满足一致性,那么,我们只能让请求另一个节点的操作暂时 hang 住,返回 client 失败或者超时的结果,这种情况多发生在银行柜台等对数据一致性要求很高的情境下,因为比起保证用户

图所示,假如我们满足了分区容忍性,即虚线处表示两个节点发生了分区。

  • 假如要满足一致性,那么,我们只能让请求另一个节点的操作暂时 hang 住,返回 client 失败或者超时的结果,这种情况多发生在银行柜台等对数据一致性要求很高的情境下,因为比起保证用户资金数目的正确性比暂时让用户无法操作要更重要一些。
  • 假如要满足可用性,因为网络已经隔离,也就没办法达到一致性,这种情况多发生在互联网行业中,比如新闻等对数据一致性要求不高但对可用性要求高的情况下,毕竟,用户压根看不了新闻比看不到及时新闻要重要的多。

大家可以自己自由组合,最终会证明,三种条件不可能同时满足,其实大部分情况下,我们都是在一致性和可用性之间取舍而已。

Consistency = Consensus?

Consistency 几乎被业界用烂,以至于当我们在讨论一致性的时候,其实我们都无法确定对方所说的一致性是不是和自己的那个一致。

Consistency:一致性,Consensus:协同,这两个概念极容易混淆。

我们常说的一致性(Consistency)在分布式系统中指的是对于同一个数据的多个副本,其对外表现的数据一致性,如线性一致性、因果一致性、最终一致性等,都是用来描述副本问题中的一致性的。而共识(Consensus)则不同,简单来说,共识问题是要经过某种算法使多个节点达成相同状态的一个过程。在我看来,一致性强调结果,共识强调过程。

(编辑:南通站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读