有没有学术大佬, 判断一下我对 CAP 的应用是不是对的

2019-10-09 17:56:14 +08:00
 petelin

https://mwhittaker.github.io/blog/an_illustrated_proof_of_the_cap_theorem/

按照论文里的证明的定义, CAP 描述的是一个非常简陋且特殊的分布式系统.

那么

求教我这种理解是对的吗?

992 次点击
所在节点    问与答
5 条回复
misaka19000
2019-10-09 17:59:32 +08:00
依然允许读写从库 -> 肯定不一致, 但是因为从库没办法给出正确的信息(只有老数据)所以他也是"不可用的"

这里可用啊,只是不一致,符合 AP
petelin
2019-10-09 18:09:19 +08:00
@misaka19000 从我读文章到的意思,
> A(可用) 指的是客户端能够访问的节点一定要给出正确的结果

访问从库给出的是旧的数据所以不是论文里描述的 A.
我能理解你说的可用是整个系统没挂, 但是这个和论文里说的不是一回事
petelin
2019-10-09 18:11:47 +08:00
typo
依然允许读写从库 改为 依然允许读写主库
misaka19000
2019-10-09 18:15:10 +08:00
> A(可用) 指的是客户端能够访问的节点一定要给出正确的结果

这个是在论文的哪部分表达的呢?
petelin
2019-10-09 18:30:58 +08:00
@misaka19000 定义是
every request received by a non-failing node in the system must result in a response

这里说的就不够清楚然后你看他证明的时候
如果有一个 CAP 都满足的系统, 那么我们先写 V1 到 G1,因为 A 所以成功了, 我们在访问 G2, G2 按照一致性应该给出 v1 这个值, 然而他给出来的是 V0 所以自相矛盾.

----------
啊 我发现自己犯的错误了, 给出来 V0 并不适合不满足 A, 而是因为在一致性的前提他给出来 V0 是错误的.

多谢多谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/607541

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX