CAP 中的P到底是个啥?
CAP中的P到底是个啥
分区 和 分区容错性 到底是不是一个概念?
《从PAXOS到ZOOKEEPER分布式一致性原理与实践》
这本书中是这么说的:
可以看到, 书上在解释P
这一项时,提到的是 "分区现象出现后, 系统仍能保证C和A",这不成了 C+A+P
么? 这写的......实在不好理解
再往下看:
出现 分区
, 个人觉得是问题
但分区容错
这个概念不应该是出现分区后采取的措施么?
怎么还说要去避免, 好闹心
而且后面又说放弃 分区容错 就是放弃了系统的扩展性, 我觉着应该是放弃 分区 , 才是放弃了系统的扩展性吧
感觉绕来绕去, 一会儿 分区 和 分区容错 是一个意思
一会儿又觉着 分区是问题, 分区容错性 是分区问题的解决方案!!
好闹心
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
分区和分区容错是两个东西。
分区是一种现象,当系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况。
而分区容错是一个系统的特性,指的是你这个系统对于分区这种现象有多高的容错能力。
P
是分区容错性
(Partition Tolerance),这个书上说的是对的。比如 Redis/Kafka/ZooKeeper,都支持集群架构,每个节点(或者说分区)中都有一份数据副本,某个节点(分区)挂掉之后不影响数据读取(脏读、丢数据等问题)。
第二段的截图是说,如果放弃了 P、还想避免分区出现问题时产生故障,可以就设成只有一个分区,这样肯定不会出现数据读取问题……
这里表述确实有点歧义,而且这么做其实相当于 A、P 都放弃了……