亚马逊云计算AWS (Amazon Web Service)
亚马逊云计算AWS (Amazon Web Service)
概述 Amazon的云从哪里来 Amazon提供的云计算服务 AWS的应用案例 ·AWS的业务流程 AWS的体系架构及关键技术
概述 • Amazon的云从哪里来 • Amazon提供的云计算服务 • AWS的应用案例 • AWS的业务流程 • AWS的体系架构及关键技术
Amazon的云从哪里来? ·一个简单的想法 aaS:将硬件设备等基础资源封装成服务供用户 使用 ·主要思想:虚拟 优势:动态申请,资源无限
Amazon的云从哪里来? • 一个简单的想法 • IaaS:将硬件设备等基础资源封装成服务供用户 使用 • 主要思想:虚拟 • 优势:动态申请,资源无限
Amazon提供的云计算服务 ·弹性计算云EG2 简单存储服务S3 ·简单数据库服务 Simple DB 简单队列服务SQS 弹性 MapReduce服务 内容推送服务 CloudFront 电子商务服务 DevPay 灵活支付服务FPS
Amazon提供的云计算服务 • 弹性计算云EC2 • 简单存储服务S3 • 简单数据库服务Simple DB • 简单队列服务SQS • 弹性MapReduce服务 • 内容推送服务CloudFront • 电子商务服务DevPay • 灵活支付服务FPS
AWS的应用案例一— Smug Mug 为什么选择AWS SmugMug是一家在线照片存储共享网站,拥有数亿照片资 源和几十万付费用户。业务量的急剧增长导致该新兴公司 无法承受巨额的基础设施开销, Smug Mug选择了 Amazon的 E02服务和S3服务。应用AWS后,仅需50人即可完成如此大 的业务量
AWS的应用案例——SmugMug • 为什么选择AWS SmugMug是一家在线照片存储共享网站,拥有数亿照片资 源和几十万付费用户。业务量的急剧增长导致该新兴公司 无法承受巨额的基础设施开销,SmugMug选择了Amazon的 EC2服务和S3服务。应用AWS后,仅需50人即可完成如此大 的业务量
SmugMug的基本架构 队列服务 EC2 处理照片 用户访问 SmugMug 存储 控制器 存储照片 队列服务
SmugMug的基本架构 用户 SmugMug 队列服务 队列服务 EC2 S3 控制器 访问 处理照片 存储照片 存储
AWS的业务流程 注册账户 ·资源申请 ·创建虚拟节点 ·将虚拟节点映射到物理节点 ·分割算法 数据处理 数据同步
AWS的业务流程 • 注册账户 • 资源申请 • 创建虚拟节点 • 将虚拟节点映射到物理节点 • 分割算法 • 数据处理 • 数据同步
基础存储架构 Dynamo Dynamo在 Amazon服务平台中的地位 · Dynamo架构的主要技术 问题 采取的相关技术 数据均衡分布 改进的一致性哈希算法,数据备份 数据冲突处理 向量时钟( vector clock) 临时故障处理 Hinted handoff(数据回传机制),参数 (WRN)可调的弱 quorum机制 永久故障后的恢复 Merkle哈希树 成员资格以及错误检测基于 gossIp的成员资格协议和错误检测
基础存储架构Dynamo • Dynamo在Amazon服务平台中的地位 • Dynamo架构的主要技术 问题 采取的相关技术 数据均衡分布 改进的一致性哈希算法,数据备份 数据冲突处理 向量时钟(vector clock) 临时故障处理 Hinted handoff(数据回传机制),参数 (W,R,N)可调的弱quorum机制 永久故障后的恢复 Merkle哈希树 成员资格以及错误检测 基于gossip的成员资格协议和错误检测
数据均衡分布的问题 计算数据键 计算节 致性哈希算法 [节点A 优势: 「节点F 负载均衡 节点B 屏蔽节点处理 能力差异 「点D
数据均衡分布的问题 • 一致性哈希算法 • 优势: --负载均衡 --屏蔽节点处理 能力差异 虚拟 节点A 虚拟 节点B 虚拟 节点C 虚拟 节点D 键 k 节点A 节点B 节点 节点C D 节点E 节点F 节点G 计算节点的 哈希值 计算数据键 值的哈希值
Dynamo的数据冲突处理 write handled by Sx ·可靠,可用,一致 D1([sx,1]) 最终一致性模型 write handled by Sx ·向量时钟 D2(sx2]) (Vector Clock) write write handled by Sy handled by sz D3([sX2],[Sy1) D4(sx2],[sz,1) reconciled and written by D5([sx3][sy1[sz.1)
Dynamo的数据冲突处理 • 可靠,可用,一致 • 最终一致性模型 • 向量时钟 (Vector Clock)