栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

CAP原则的理解

CAP原则的理解

CAP 原则指的是,分布式系统中三个要素一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)最多只能同时实现两点,不可能三者兼顾。

1 前提共识
  • CAP原则不是要求每个节点的数据都一样(不是集群);
  • 分布式系统对外的服务,只是某一个节点,节点之间是内部通信;
2 分区容错性

分区指的是分布式系统的一个节点,如果需要满足分区容错性,意思是因为某些网络、故障原因,我这个节点上没有收到其他节点的一致性通知(不一定是数据同步),比如A、B两个节点,A负责生成订单,B负责短信发送,A生成订单之后,给B发一个信息告诉可以B可以进行短信发送了,但是某些原因B没有收到,也就没有发送短信,这对于业务来说,是不能容忍的,因为我生成了订单,但是没有给用户发短信,这就不满足分区容错性。

为了保证分区容错性,那么系统就强要求A和B必须保证逻辑一致,就是说B必须等到A的生成订单才发短信,并且B没有发短信这次请求就算失败的,类似于事务。

这种场景满足了分区容错性P,满足了一致性C,但是在数据同步期间,服务是不可用的,因为要等同步完成才能用,不满足A;

3 可用性

同样上面的场景,如果我需要满足可用性A,也就是说我在数据同步期间也能访问系统,类似于MySQL的主从复制,在数据从主到从同步期间,服务也是可用的,并且容忍了分区之间的错误(不一致),这种就满足了A和P,但是这时候数据就有不一致性;

4 一致性

为了解决一致性和可用性的问题,很简单,我不使用分布式就可以了,数据和服务全部在单节点上,满足了C和A,既然都没有了分区,那么更没有分区容错性而言了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/676914.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号