CAP原则的相关理论
CAP定理:
一致性 可用性 分区容错
只能满足其中的两个特性,不能同时满足三个特性,一致性(数据的实时备份),可用性(集群里面的部分故障,系统的功能还可以使用,不会对本身产生太大的影响),分区一致性(客户端向另一个客户端发送消息,或是系统故障导致其中一个收不到,即不能通信,必须考虑到这种情况的存在,即目标是努力达到分区一致)
c 和 a 不能同时成立 是一个矛盾的状态
其中一个在写,另外一个即锁定,高可用即不成立,所以一致性和可用性不可能同时成立,CA不可以共存,而且CA也没有容错的机制。
网页的更新当中,可用性要强于一致性,可用是基础!
消息队列排上用场,装100个订单信息,
这种情况就得损失一致性,把下单信息存在内存当中,反馈下单成功,用户就知道下单成功,最终取到100个信息和下单的信息匹配
即AP性的体现
Zookeeper 集群损失了可用性,保证了一致性,半数成活即有效
选举策略投票 拿出一种顺序来对服务进行排序,hadoop生态体系里面的其中一个就是Zookeeper,投票出顺序谁是老大,如果老大死掉,集群就会出现宕机状态,不可以使用,不过之间的间隔很短。
Eureka则是保证了可用性,有数据的延迟,一致性不能保持,自我保护机制,不过优点是不会发生崩溃