徐锦洪 发表于 2024-6-14 21:55:13

Amazon云计算AWS(一)


https://img-blog.csdnimg.cn/direct/dbb60377e624467d970a0076b7dc2793.png#pic_center
提供的服务主要包括:


[*]弹性计算云EC2
[*]简单存储服务S3
[*]简单数据库服务Simple DB
[*]简单队列服务SQS
[*]弹性MapReduce服务
[*]内容推送服务CloudFront
[*]电子商务服务DevPay
[*]FPS
一、基础存储架构Dynamo

(一)Dynamo概况

https://img-blog.csdnimg.cn/direct/bf95c84bee9e4afd9ee83d4474a84987.png#pic_center
   面向服务的Amazon平台根本架构  为了包管其稳固性,Amazon的系统采用完全的分布式、去中心化的架构。


[*]作为底层存储架构的Dynamo也同样采用了无中心的模式
[*]Dynamo只支持简单的键/值(key/value)方式的数据存储,不支持复杂的查询
[*]Dynamo中存储的是数据值的原始情势,即按位存储,并不解析数据的具体内容
(二)Dynamo架构的主要技能

  Dynamo在设计时被定位为一个基于分布式存储架构的,高可靠、高可用且具有精良容错性的系统。下表列举了Dynamo设计时面对的主要题目及所接纳的办理方案。
   Dynamo必要办理的主要题目及办理方案题目接纳的相干技能数据均衡分布改进的同等性哈希算法数据备份参数可调的弱quorum机制数据冲突处理向量时钟(Vector Clock)成员资格及错误检测基于Gossip协议的成员资格和错误检测临时故障处理Hinted handoff(数据回传机制)永世故障处理Merkle哈希树   Dynamo中的存储节点呈无中心的环状分布。包含两个根本概念:preference list 是存储与某个特定键值相对应的数据的节点列表;coordinator 是实行一次读或写操纵的节点。通常,coordinator 是 preference list 上的第一个节点。
https://img-blog.csdnimg.cn/direct/8c398e6e2f8e4165a7805ff454cb9769.png#pic_center
1、数据均衡分布的题目
  Dynamo采用了分布式的数据存储架构,均衡的数据分布可以包管负载平衡和系统精良的扩展性。因此,如安在各个节点上数据的均衡性是影响Dynamo性能的关键题目。Dynamo中使用改进后的同等性哈希算法,并在此基础上举行数据备份,以进步系统的可用性。
https://img-blog.csdnimg.cn/direct/5b7587fcf9f9434eac2baaa6c93ac42e.png#pic_center
(1)同等性哈希算法
  同等性哈希算法是现在主流的分布式哈希表(Distributed Hash Table,DHT)协议之一,于1997年由麻省理工学院提出。同等性哈希算法通过修正简单哈希算法,办理了网络中的热门题目,使得DHT可以真正地应用于P2P环境中。
https://img-blog.csdnimg.cn/direct/d8814233b7b34dd9a7cecaf92351cd82.png#pic_center
  同等性哈希算法除了可以或许包管哈希运算效果充实分散到整个环上外,还能包管在添加或删除装备节点时只会影响到其在哈希环中的前驱装备节点,而不会对其他装备节点产生影响。
https://img-blog.csdnimg.cn/direct/e91762b289a64d82a6ff05d0e57e6a3b.png#pic_center
  同等性哈希算法可以大大降低在添加或删除节点时引起的节点间的数据传输开销。
(2)改进的同等性哈希算法
  Dynamo中引入了捏造节点的概念。每个捏造节点都从属于某一个实际的物理节点,一个物理节点根据其性能的差别被分为一个或多个捏造节点。各个捏造节点的本领根本相当,并随机分布在哈希环上。
https://img-blog.csdnimg.cn/direct/3fb8d19915a8460583655c3613cea3a6.png#pic_center
  Dynamo将整个哈希环划分成Q等份,每个等份称为一个数据分区(Partition)。在存储数据时,每个数据会被先分配到某个数据分区,再根据负责该数据分区的捏造节点,最终确定其所存储的物理节点。
数据分区的利益:


[*]减小数据分布不均衡的可能性
[*]添加或删除装备节点时引起较小的数据传输
https://img-blog.csdnimg.cn/direct/f430e997279a4734b55f6920095a7e9a.png#pic_center
2、数据备份
  在Dynamo中,每个数据的副本备份存储在哈希环顺时针方向上该数据地点捏造节点的后继节点中。数据备份在存储数据的同时举行,会使每次写操纵的延时变长。
  Dynamo中对写操纵举行了优化,包管一个副本必须写入硬盘,其他副本只要写入节点的内存即返回写成功。每个捏造节点上实际存储了分配给它以及分配它的前N-1个前驱捏造节点的数据。
3、数据冲突题目
https://img-blog.csdnimg.cn/direct/de72631fd01a4d25b630e680a3780082.png#pic_center
  Dynamo选择通过捐躯同等性来包管系统的可靠性和可用性,没有采用强同等性模子而采用了最终同等性模子。由于Dynamo中可能出现同一个数据被多个节点同时更新的环境,且无法包管数据副本的更新次序,这有可能会导致数据冲突。
https://img-blog.csdnimg.cn/direct/3b8e877885114d2ca54eab8076497ffe.png#pic_center
  Dynamo中采用了向量时钟技能(Vector Clock),Dynamo中的向量时钟通过 对 来表示。node表示操纵节点;counter是其对应的计数器,初始值为0,节点每举行一次更新操纵则计数器加1。
4、成员资格及错误检测
  由于Dynamo采用了无中心的架构,每个成员节点都必要保存其他节点的路由信息。为了包管每个节点都能拥有最新的成员节点信息,Dynamo中采用了一种雷同于Gossip(闲聊)协议的技能。
https://img-blog.csdnimg.cn/direct/cc1078c13783497ab45d21b34560b8b6.png#pic_center
  Dynamo中还通过Gossip来实现错误检测任何节点向其他节点发起通信后,如果对方没有回应,则以为对方节点失效。
  为了制止新加入的节点之间不能及时发现其他节点的存在,Dynamo中设置了一些种子节点(Seed Node)。种子节点和全部的节点都有联系。当新节点加入时,它饰演一个中介的角色,使新加入节点之间相互感知。
https://img-blog.csdnimg.cn/direct/27ed48a7b8b1452dac4a469693561386.png#pic_center


[*]自底向上每一层代表一次随机通信
[*]第一层节点1将信息交换给节点2
[*]第二层节点1和2同时开始随机选择其他节点交换信息
[*]直到N个节点全部传遍
https://img-blog.csdnimg.cn/direct/202ada0ef5c74a45812cd548ea9b2670.png#pic_center
结论:Dynamo中的节点数不能太多;Amazon采用了分层Dynamo结构来办理该题目。
5、容错机制
(1)临时故障处理机制
  为了处理临时失效的节点,Dynamo中采用了一种带有监听的数据回传机制(Hinted Handoff)。当捏造节点A失效后,会将数据临时存放在节点D的临时空间中,并在节点A重新可用后,由节点D将数据回传给节点A。
https://img-blog.csdnimg.cn/direct/3e6498fa8bab45318ea7e6cdb344fe66.png#pic_center
(2)永世性故障处理机制
  Dynamo采用Merkle哈希树技能来加快检测和淘汰数据传输量。
https://img-blog.csdnimg.cn/direct/20437c182fa245ff97958127bc329f35.png#pic_center
二、弹性计算云EC2

(一)EC2的根本架构

  主要包括了Amazon机器映象、实例、存储模块等构成部分,并能与S3等其他Amazon云计算服务联合使用。
https://img-blog.csdnimg.cn/direct/849a3212b44e442592e7d078b420e84d.png#pic_center
1、Amazon机器映象(AMI)
  Amazon机器映像(Amazon Machine Image,AMI)是包含了操纵系统、服务器步伐、应用步伐等软件配置的模板。当用户使用EC2服务去创建自己的应用步伐时,首先必要构建或获取相应的AMI。
https://img-blog.csdnimg.cn/direct/956de8f5727f404b9293df5cabc9d603.png#pic_center
  构建好的AMI分为Amaznon EBS支持和实例存储支持两类。
2、实例(Instance)
  EC2中实例由AMI启动,可以像传统的主机一样提供服务。同一个AMI可以用于创建具有不同计算和存储本领的实例。Amazon提供了多种不同类型的实例,分别在计算、GPU、内存、存储、网络、费用等方面举行了优化。Amazon还允许用户在应用步伐的需求发生变更时,对实例的类型举行调整,从而实现按需付费。
  Amazon EC2还为实例提供了许多附加功能,帮助用户更好地部署和管理应用步伐。
3、弹性块存储(EBS)
  EBS存储卷的设计与物理硬盘相似,其巨细由用户设定,现在提供的容量从1GB到1TB不等。
https://img-blog.csdnimg.cn/direct/0a96f81218794ab28cbf81ae4fd884c3.png#pic_center
  EBS存储卷适用于数据必要细粒度地频繁访问并持久保存的情形,适互助为文件系统或数据库的主存储。快照功能是EBS的特色功能之一,用于在S3中存储Amazon EBS卷的时间点副本。
(二)EC2的关键技能

1、地理区域和可用区域
https://img-blog.csdnimg.cn/direct/4ca1cff976614c10a1bb0e64696548ae.png#pic_center
  EC2系统中包含多个地理区域,而每个地理区域中又包含多个可用区域。为了确保系统的稳固性,用户最好将自己的多个实例分布在不同的可用区域和地理区域中。
https://img-blog.csdnimg.cn/direct/1907707a4c7f4ef09bddde9720821dfb.png#pic_center
2、EC2的通信机制
https://img-blog.csdnimg.cn/direct/65419bef8f0b47a6a87601cc319d606d.png#pic_center
  EC2的实例一旦被创建就会动态地分配公共IP地址和私有IP地址。私有IP地址由动态主机配置协议(DHCP)分配产生。
3、弹性负载平衡
https://img-blog.csdnimg.cn/direct/4e87fb43f2384ef28437e51b741a44e0.png#pic_center
  弹性负载平衡功能允许EC2实例自动分发应用流量,从而包管工作负载不会超过现有本领,而且在一定程度上支持容错。弹性负载平衡功能可以识别出应用实例的状态,当一个应用运行不佳时,它会自动将流量路由到状态较好的实例资源上,直到前者恢复正常才会重新分配流量到实在例上。
4、监控服务
https://img-blog.csdnimg.cn/direct/608966211c1d4cecb9a64df665a12606.png#pic_center
  用户只必要选择EC2实例,设定监督时间,CloudWatch就可以自动收集和存储检测数据。
5、自动缩放
自动缩放可以按照用户自定义的条件,自动调整EC2的计算本领:


[*]需求高峰期:确保EC2实例的处理本领无缝增大
[*]需求降落时:自动缩小EC2实例规模以降低成本
自动缩放功能特殊适合周期性变化的应用步伐,它由CloudWatch自动启动。
6、服务管理控制台
  各项技能通过相互配合来实现EC2的可扩展性和可靠性。
https://img-blog.csdnimg.cn/direct/3b0f35df267248109c6cb42542185312.png#pic_center
(三)EC2的安全及容错机制

  安全组是一组规则,用户使用这些规则来决定哪些网络流量会被实例接受,其他则全部拒绝。当用户的实例被创建时,如果没有指定安全组,则系统自动将该实例分配给一个默认组。默认组只接受组内成员的消息,拒绝其他消息。当一个组的规则改变后,改变的规则自动适用于组中全部的成员。
  SSH是现在对网络上传输的数据举行加密的一种很可靠的协议,当用户创建一个密钥对时,密钥对的名称(Key Pair Name)和公钥(Public Key)会被存储在EC2中。
https://img-blog.csdnimg.cn/direct/363d342f623f4d0eb8c05576b7d2e8ac.png#pic_center
  EC2引入了弹性IP地址的概念。弹性IP地址和用户账号绑定而不是和某个特定的实例绑定;弹性IP地址和用户账号绑定而不是和某个特定的实例绑定;通过弹性IP地址改变映射关系总可以包管有实例可用。

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页: [1]
查看完整版本: Amazon云计算AWS(一)