短视频
2025/12/30大约 2 分钟面试题面试题
来源:短视频
最近有一位粉丝在后台留言,面试的时候被问到什么CAP原则,当时回答的不是很好,导致错失offer,今天我们就来好好聊聊这个问题
其实CAP原则是分布式系统设计中的一个基本原则,它指的是在分布式计算中,一致性-C、可用性-A、分区容错性-P 这三个属性不可能完全同时满足,最多只能同时满足其中的两个。
具体来说:
一致性是指所有节点在同一时间具有相同的数据视图,也就是对数据的修改操作在一定时间内能够被所有节点看到,并且满足事务的ACID特性。
而可用性是指系统能够保证每个请求都能够得到响应,换句话说就是系统能够正常对外提供服务,不会出现宕机或无法响应的情况。
最后分区容错性是指系统能够在网络分区的情况下,仍然能够保持可用性和一致性。
那么CAP原则他就认为在一个分布式系统中,由于网络通信可能会发生分区,比如说网络故障导致节点之间无法通信,因此必须满足分区容错性。
而在面对网络分区时,要么保证一致性,要么保证可用性,二者无法同时保证。
因为如果在分区发生时要求一致性,就可能导致部分节点无法响应请求,从而影响了可用性;
如果保证可用性,就可能导致节点间数据的不一致。
CAP原则的存在使得分布式系统设计时需要根据实际业务需求和情景,在一致性、可用性和分区容错性之间权衡取舍,我们需要根据业务特点,选择最适合的策略和技术。