云计算系统学习笔记–AWS:Amazon Web Services

  • Post author:
  • Post category:其他




本文是学习AWS框架时做的笔记,主要参考《云计算》以及网上一些东西~





Amazon

云计算服务


AWS


主要包括以下模块:

Amzon平台基础存储架构

Dynamo


,弹性云计算

(Elastic Compute Cloud




EC2

),简单存储服务(Simple Storage Service,S3),简单数据库服务

Simple DB


,关系数据库服务

(Relational Database Service,RDS),简单队列服务(Simple Queue Service,SQS),弹性

MapReduce


服务,内容推送服务


CloudFront


等。



1.Amazon

平台基础存储架构:


Dynamo





Twitter




Facebook





Cassandra


架构以及


NoSQL


数据库等都应用


Dynamo





1.1 Dynamo




Amazon


服务平台的地位












如图是面向服务的

Amazon


平台基础架构,其是完全的分布式,去中心化的。


Dynamo


采用简单的键值方式存储数据,而非传统的关系型数据库方式。


Dynamo


存储数据值的原始形式,以


bit


形式存储,不解析数据的具体内容,不识别任何数据结构。


1.2 Dynamo

架构的主要技术







Dynamo

定位为高可靠,高可用,具有良好容错性的分布式存储架构,其主要面临的问题及解决方案如下表:


问题


采取的相关技术


数据均衡分布


改进的一致性哈希算法;数据备份


数据冲突处理


向量时钟(vector clock)


临时故障处理


弱Quorum

机制;

数据回传机制(Hinted handoff)


永久故障后的恢复


Merkle

哈希树

;反熵协议


成员资格以及错误检测


基于

gossip


的成员资格协议和错误检测



1.数据均衡分布问题(改进的一致性哈希算法+

数据备份




(1)一致性哈希算法


一致性哈希算法满足:


1.

平衡性:存储数据哈希完尽量均匀分布在所有节点上;


2.

单调性:新增加节点时,一部分旧节点内容会映射到新节点上,其他的旧节点之间的内容不会重新分配;


3.

分散性:由于分布式环境下,不同节点可能只看到一部分节点,导致同一内容映射到不同节点,需尽量避免或降低分散性;


4.

负载:另一角度看分散性,由于同一内容映射到不同节点,其负载变高。






一致性算法步骤:


1.

计算节点的哈希值,将节点分配到环上;


2.

计算数据的哈希值,按顺时针方向将其映射到最近的节点。


左图为一致性哈希算法,右图为增加节点时的示意图。






(2)Dynamo

采用的改进算法(引入虚拟节点)





由于一致性哈希函数是随机函数,在节点较少时可能造成环上节点数据不均匀,其也没有考虑不同节点的性能差异。因此,

Dynamo


引进虚拟节点,每个物理节点根据其性能分配不同数量的虚拟节点,每个虚拟节点能力相当,随机分布在哈希环空间中。





(3)数据备份




Dynamo

对数据进行冗余备份,一般副本数


N





3


,节点的数据副本保存在环上它的顺时针方向的后继节点中。如图,键


k


数据保存在虚拟节点


A


中,其副本保存在虚拟节点


B





C


中。


Dynamo


对数据写进行了优化:保证一个副本写入硬盘,其他副本写入内存即返回成功。


Dynamo


还保证相邻的节点位于不同的地区区域,如此某个数据中心瘫痪,保证数据在其他数据中心有副本。





2.数据冲突问题(向量时钟)




根据

CAP


理论,分布式系统的一致性

(Consistency),可用性(Availability),分区容忍性(Partition Tolerance)最多只能实现其中的二者,

Dynamo


选择牺牲一致性,采用最终一致性模型。


Dynamo


用向量时钟

(vector clock)来保证最终一致性。




Dynamo

中的向量时钟用

(node,counter)对表示,

node


代表节点,


counter


为计数器,初始为


0


,每发生一次事件加


1


。当系统有了多个版本的对象发



版权声明:本文为IanChan1990原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。