浅谈云计算基本原理
对云计算的基础知识进行介绍,包含CAP理论,以及BASE
·
一、大数据的计算
云计算基于:
1.大规模的分布式计算和存储
2.通过网络访问,方便用户通过多种接入方式
1.与大数据的关系
通俗点说,我们要是以大数据为数据源,以云计算为工具,从而达成我们的目标。
2.定义
一种商业计算模型,计算任务分布在大量计算机构成的资源池上,使各种应用系统能够根据需要获取计算力、存储空间和信息服务。
再通俗的说,就是通过网络我们就可以获得廉价的计算服务。
3.七大特点
超大规模、虚拟化、高伸缩性、高可靠性、通用性、按需服务、极其廉价。
4.三大分类
eg:
5.发展现状
国外:亚马逊的Amazon Web(AWS),谷歌,微软的MIcrosoft
国内:阿里云,华为云、腾讯云、七牛云等
二、理论基础
1.CAP理论
- C(一致性):所有的节点上的数据时刻保持同步
- A(可用性):每个请求都能接受到一个响应,无论响应成功或失败
- P(分区容错):系统应该能持续提供服务,即使系统内部有消息丢失(分区)
一个分布式系统最多只能同时满足两项。
2.CAP权衡
- CA (一致性+可用) without P:如果不要求P(分区容错性),则C(强一致性)和A(可用性)是可以保证的。但其实分区始终会存在,因此CA的系统更多的是允许分区后各子系统依然保持CA。
- CP (一致性+分区)without A:如果不要求A(可用),相当于每个请求都需要在Server之间强一致,而P(分区)会导致同步时间无限延长,如此CP也是可以保证的。很多传统的数据库分布式事务都属于这种模式。
- AP (可用+分区) without C:要高可用并允许分区,则需放弃一致性。一旦分区发生,节点之间可能会失去联系,为了高可用,每个节点只能用本地数据提供服务,而这样会导致全局数据的不一致性。现在众多的NoSQL都属于此类。
BASE是指基本可用(Basically Available)、软状态(Soft State)、最终一致性(Eventual Consistency)。
基本可用是指分布式系统在出现故障的时候,允许损失部分可用性,即保证核心可用。电商大促时,为了应对访问量激增,部分用户可能会被引导到降级页面,服务层也可能只提供降级服务。这就是损失部分可用性的体现。
软状态是指允许系统存在中间状态,而该中间状态不会影响系统整体可用性。分布式存储中一般一份数据至少会有三个副本,允许不同节点间副本同步的延时就是软状态的体现。例如MySQL replication的异步复制就是这种体现。
最终一致性是指系统中的所有数据副本经过一定时间后,最终能够达到一致的状态。
更多推荐
已为社区贡献1条内容
所有评论(0)