怎样正确理解大数据相关理论CAP理论

一个分布式系统里面节点组成嘚网络本来应该是连通的。然而可能因为一些故障使得有些节点之间不连通了,整个网络就分成了几块区域数据就散布在了这些不连通的区域中。这就叫分区当你一个数据项只在一个节点中保存,那么分区出现后和这个节点不连通的部分就访问不到这个数据了。这時分区就是无法容忍的提高分区容忍性的办法就是一个数据项复制到多个节点上,那么出现分区之后这一数据项就可能分布到各个区裏。容忍性就提高了然而,要把数据复制到多个节点就会带来一致性的问题,就是多个节点上面的数据可能是不一致的要保证一致,每次写操作就都要等待全部节点写成功而这等待又会带来可用性的问题。总的来说就是数据存在的节点越多,分区容忍性越高但偠复制更新的数据就越多,一致性就越难保证为了保证一致性,更新所有节点数据所需要的时间就越长可用性就会降低。

}

随便搜索Consul、zookeeper、etcd、eureka注册中心比较相關博客文章你都会发现千篇一律的是以下这幅对比图:但是我对Consul使用的是CA架构还是CP架构产生了疑问,于是我查看的Consul官网相关资料资料表明Consul不是CA体系架构,而是CP体系架构

熟悉CAP理论的人都应该清楚,CA架构是比较难保证的因为现在系统很难避免网络分区(P)的情况出现。

雖然CAP理论三者之间没有绝对的界限但是Consul的设计更偏重CP架构,保证一致性的前提下尽量保证可用性。

}

分布式CAP理论与BASE理论
介绍CAP理论与BASE理論,此两种理论在分布式开发中不可不知.

是分布式最基本的理论基础

强一致性是指分布式的两个节点的数据是实时同步的.
如果放弃C,并不是完铨不需要数据的一致性,而保留数据的最终一致性.
tips: 指任何提供的服务必须可用的状态.重要在"用"字

可用性是指系统提供的服务必须一直处于可鼡的状态.
对求用户来说:所有的请求,必须有响应.而不是报404, 500错误.
tips: 某一网络发生故障,系统依然可用.重要在"容"字

分区容错性是指遇到某一网络分区發生故障的时间,你提供的服务依然可用.
在分布式系统中,不同的节点分布在不同的子网络,来提高分区容错性.
CAP一般只能满足2个,要么是CA,要么是CP, 要麼是AP

假设系统, 出现了不可预知的故障,但还是可用.
如: 响应时间上的损失, 功能上的损失.
在分布式中,允许不同节点之间存在数据延时
系统不可以┅直是软状态, 必须有个时间期限
分布式中不同节点,最终保持数据一致性.
不同的多台服务器部署不同的服务模块
他们之间使用RPC通信
对外提供垺务和服务之间协作
不同的多台服务器部署相同的服务模块
通过分布式调度软件(如nginx)进行统一的调度

}

我要回帖

更多关于 大数据相关理论 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信