CAP理论详解

先给大家看一张CAP理论的经典图

在这里插入图片描述

 

一.CAP理论概述:
    一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项.

二.那一致性,可用性,分区容错性到底指的是什么?

一致性:所有节点在同一时间的数据完全一致.
可用性:服务在正常时间内一直可用
分区容错性:系统在遇到某节点或者网络分区故障的时候,仍然能够对外满足可用性或一致性的服务.
三.在分布式系统中分区容错性是一定要满足的,为什么?怎么满足?
    当我们的数据项只在一个节点保存时,一旦出现分区,那么其他部分就访问不到这个数据了,这是不能容忍的,所以我们需要把数据分布在多个节点上,那么当出现分区后,这一数据项可能到各个区里,从而提高容错性.但是当我们把数据放在多个节点中后,又会带来数据一致性的问题,为了保证数据一致, 每次写操作就需要等待所有节点执行成功,而这等待又会带来可用性的问题.

分布式系统中满足AP的样例:Eureka
    在任何时间都可用,但是可能有数据不一致的情况.
分布式系统中满足CP的样例:zookeeper
    满足数据的最终一致性,但是在leader选举过程中不可用

总结:什么是CAP理论

一.CAP理论概述:
    一个分布式系统最多只能同时满足一致性(Consistency)、可用性(Availability)和分区容错性(Partition tolerance)这三项中的两项.

二.那一致性,可用性,分区容错性到底指的是什么?

一致性:所有节点在同一时间的数据完全一致.
可用性:服务在正常时间内一直可用
分区容错性:系统在遇到某节点或者网络分区故障的时候,仍然能够对外满足可用性或一致性的服务.
三.在分布式系统中分区容错性是一定要满足的,为什么?怎么满足?
    当我们的数据项只在一个节点保存时,一旦出现分区,那么其他部分就访问不到这个数据了,这是不能容忍的,所以我们需要把数据分布在多个节点上,那么当出现分区后,这一数据项可能到各个区里,从而提高容错性.但是当我们把数据放在多个节点中后,又会带来数据一致性的问题,为了保证数据一致, 每次写操作就需要等待所有节点执行成功,而这等待又会带来可用性的问题.

分布式系统中满足AP的例:Eureka
    在任何时间都可用,但是可能有数据不一致的情况.
分布式系统中满足CP的样例:zookeeper
    满足数据的最终一致性,但是在leader选举过程中不可用
 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值