科普一下,什么是分布式架构设计中的CAP原理?

原创 2016年12月18日 23:03:00

大家在看书或者参加会议的时候,对于数据架构设计的时候,一定经常听到CAP原理,比如根据CAP原理,对于分布式设计系统,只能做到数据的最终一致性而不是实时事务的一致性;那么,这些行家或者架构师常挂在嘴边的CAP到底是什么? 先问问度娘,百度百科一下: CAP原则又称CAP定理,指的是在一个分布式系统中, Consistency(一致性)、 Availability(可用性)、Partition tolerance(分区容错性),三者不可得兼。


分布式系统的CAP理论:理论首先把分布式系统中的三个特性进行了如下归纳:

● 一致性(C):在分布式系统中的所有数据备份,在同一时刻是否同样的值。(等同于所有节点访问同一份最新的数据副本),换句话就是说,任何时刻,所用的应用程序都能访问得到相同的数据。
● 可用性(A):在集群中一部分节点故障后,集群整体是否还能响应客户端的读写请求。(对数据更新具备高可用性),换句话就是说,任何时候,任何应用程序都可以读写数据。
● 分区容错性(P):以实际效果而言,分区相当于对通信的时限要求。系统如果不能在时限内达成数据一致性,就意味着发生了分区的情况,必须就当前操作在C和A之间做出选择,换句话说,系统可以跨网络分区线性的伸缩和扩展。

如上图所示意,不可能设计出既满足一致性,有满足可用性还同时满足分区容错性的系统。
其实就是一个三角约束,咱们触类旁通一下,学过项目的管理的同学都知道,在项目管理中也有一个有名的黄金三角约束:时间,质量和成本或者时间,成本和范围的三角约束。

鱼与熊掌不可得兼,所以要求架构设计者能够和业务部门或者客户或者领导层沟通,进行一定的取舍。毕竟在很多公司,技术都是业务驱动的。


版权声明:本文为博主原创文章,未经博主允许不得转载。

CAP理论

CAP理论在中国有着广泛的知名度,

可能是CAP理论的最好解释

一篇非常精彩的解释CAP理论的文章,翻译水平有限,不准确之处请参考原文,还请见谅。 Chapter 1: “Remembrance Inc” Your new venture :Last night ...
  • dc_726
  • dc_726
  • 2015年01月16日 21:28
  • 9872

从分布式一致性谈到CAP理论、BASE理论

问题的提出 在计算机科学领域,分布式一致性是一个相当重要且被广泛探索与论证问题,首先来看三种业务场景。 1、火车站售票 假如说我们的终端用户是一位经常坐火车的旅行家,通常他是去车站的售票处购买车...

分布式系统CAP理论

CAP理论在互联网界有着广泛的知名度,知识稍微宽泛一点的工程师都会把其作为衡量系统设计的准则。大家都非常清楚地理解了CAP:任何分布式系统在可用性、一致性、分区容错性方面,不能兼得,最多只能得其二,因...

分布式系统的思考及CAP理论

在讨论常见架构前,先简单了解一下CAP理论: CAP是Consistency、Availablity和Partition-tolerance的缩写。分别是指: 1.一致性(Consistency)...

面试官:一个能一网打尽的技术问题

 常见的招聘过程: 我之前的主要工作是参与招聘并进行技术面试,招聘的总过程如下: 1. HR所进行的面试:判断候选人是不是一个连环杀手或精神病。 2. 技术专家进行的面试:判断...

MySQL处理千万级数据查询、分页

MySQL数据库优化处理实现千万级快速分页分析,来看下吧。 数据表 collect ( id, title ,info ,vtype) 就这4个字段,其中 title 用定长,info 用tex...
  • educast
  • educast
  • 2015年05月08日 14:23
  • 7853

分布式架构设计

  • 2017年11月06日 08:17
  • 72.31MB
  • 下载

Kafka的分布式架构设计与High Availability机制

最初,Kafka实际上是LinkedIn用于日志处理的分布式消息队列,现今,Kafka主要用于处理活跃的流式数据,如分析用户的行为,对用户搜索关键词进行统计以便分析出当前的流行趋势,存数据库浪费,而直...
  • ebay
  • ebay
  • 2015年06月18日 16:41
  • 4822
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:科普一下,什么是分布式架构设计中的CAP原理?
举报原因:
原因补充:

(最多只允许输入30个字)