对 CAP 的理解

用户头像
朱月俊
关注
发布于: 2020 年 07 月 14 日

聊CAP时的时候通常会聊到分布式存储。其中,在分布式存储中会不可避免地遇到P问题,这个时候分布式存储选择C行为还是A行为就决定了该分布式存储的应用场景。

P是指网络分区,C是指保持分布式节点之间的数据保持一致,A是指保持服务的可用性。

比如,有1000台机器,有500台分布在北京,500台分布在上海,共同维护一些业务数据。因为当网络分区问题时,此时涉及到业务数据的读写时,可能出现北京、上海两个机房的数据不一致,甚至出现冲突;为了保证北京、上海两个机房数据一致性,那么在网络分区发生时,必须停止提供服务。

也就是说CAP是指当分布式存储遇到P问题时,在C与A之间如何权衡。

当前,实际情况是分布式存储没有在CA之间2选1,而是使用了C与A之间的弱化版本,即在C中选择最终一致性,在A中选择冲突数据不可用。



总之,CAP是讨论分布式存储时不可避免的话题,通常的选择都是选择弱化版本的C与A。而不是单方面否定。



发布于: 2020 年 07 月 14 日 阅读数: 33
用户头像

朱月俊

关注

还未添加个人签名 2017.11.06 加入

还未添加个人简介

评论

发布
暂无评论
对CAP的理解