了解CAP(一致性、可用性、分区容错性)

CAP概念

    CAP是一致性(Consistency)、可用性(Availability)、分区容错性(Partition Tolerance)的简称。
    (1)一致性(C):保证“读”操作能返回最新的结果。在支付场景中,对一致性有较高的要求。但在日志记录场景中,对一致性的要求就较低,可以牺牲一致性来换取可用性。
    (2)可用性(A):非故障的节点应在合理的时间内返回合理的响应(不是错误和超时的响应)。可用性保证系统一直处于能正常使用的状态。
    (3)分区容错性(P):在分布式系统中,要能保证在部分断网或宕机的情况下有其他的服务器能继续提供服务。

三种场景

一个分布式系统一定不能同时满足C、阿和朋,所以存在如下三种场景。
    (1)CP(一致性+分区容错性):牺牲可用性,保证一致性。一致性要求较高的场景有支付、抢红包等。
    (2)AP(可用性+分区容错性),即牺牲一致性保证可用性,这样能提高用户体验和性能等,比如日志记录、数据投递、存储系统配置等场景。
    (3)CA(一致性+可用性):如果不能保证分区容错性,一旦产生断网宕机等意外情况,则系统就会无法工作。目前很少有场景会完全不考虑分区容错性。
由于分区容错性P在分布式系统中是必须要保证的,因此我们只能在A和C之间进行权衡。

你可能感兴趣的:(微服务,java)