CAP原理
分布式系统中,有三种重要的属性,分别是:
l
l
l
CAP原理的意思是,一个分布式系统不能同时满足一致性,可用性和分区容错性这三个需求,最多只能同时满足两个。
这里可用性和分区容忍性大家会很容易混淆,在这里表达下个人的理解:
可用性,我们一般认为系统正常提供服务为可用,常用服务时间/时间 来衡量系统可用性。但是这个CAP理论,分区容错性充当了部分“可用性”的角色,其表示当部分节点挂了系统依然能提供服务,除非所有节点都挂掉。而上面的A,更多是指服务质量,注意定义中的“一定时间内返回”,理解起来是说我们日常理解的“性能”,当然,我们平时理解的可用性,也是包括性能指标的,因为所谓的可用,其实是在一定的处理时间要求下的服务提供,长时间的用户等待必然导致服务没有用。
所以,CAP理论其实是指“一致性”、“服务质量(性能、时延)”和“可用性”三者不可得兼,个人认为非常有指导意义。