分布式架构之所以复杂,就是因为增加了网络通信,而网络通信本身具有不确定性。 但是作为业务支撑的整个技术架构,所有业务的处理必须要具备确定性。 因此在这样一个矛盾下,导致架构变得更加复杂。 面试题说说你对CAP的理解这个问题,就是在这个背景下产生的。 大家好,我是Mic,一个工作了14年的Java程序员。 下面我们来分析一下面试官对于这个问题的考察意图。考察目的 这个问题考察难度算中等,主要针对5年以上开发经验的同学。 考察目的有两个了解求职者对于分布式架构的理解在分布式架构中,很多技术方案在落地的时候需要有取舍,要么是CP、要么是AP,理解CAP定理,能够更好的做出合适的选择高手回答 CAP模型,在一个分布式系统里面,不可能同时满足三个点一致性(Consistency),访问分布式系统中的每一个节点都能获得最新的数据。可用性(Availability),每次请求都能获得一个有效的访问,但不保证数据是最新的。分区容错性(Partitiontolerance),分区相当于对通信耗时的要求,系统如果不能在时限范围内达成数据一致,就意味着发生了分区的情况。 在CAP模型中只能满足CP或者AP,之所以不能满足CA,因为网络通信的不确定性可能会导致分区容错,也就是分区容错性必然是存在的,因此我们只能在一致性和可用性之间做选择。总结 大家知道怎么回答了吗? 如果你喜欢我的作品,记得点赞收藏加关注哦!!! 最新的资料文档已整理,包含如下(还在持续更新中!): 100道最新大厂经典面试题解析资料文档! 20万字Java面试题解析和配套答案! 从应届生到高级开发都适用的简历模板! 从入门到精通的架构师学习路线图! 还有各种技术流程图,路径图! 有需要的Si我Mic拿!