《《云计算(第三版)》第3章Amazon云计算AWS(三).pptx》由会员分享,可在线阅读,更多相关《《云计算(第三版)》第3章Amazon云计算AWS(三).pptx(54页珍藏版)》请在课桌文档上搜索。
1、,第 3 章,Amazon 云计算 AWS(三),3.1 基础存储架构Dynamo,3.2 弹性计算云EC2,3.3 简单存储服务S3,3.4 非关系型数据库服务SimpleDB和DynamoDB,3.5 关系数据库服务RDS,3.6 简单队列服务SQS,3.7 内容推送服务CloudFront,3.8 其他Amazon云计算服务,3.9 AWS应用实例,3.10 小结,3.5 关系数据库服务RDS,3.5.1 RDS的基本原理,3.5.2 RDS的使用,4,RDS的基本原理,3.5 关系数据库服务RDS,Amazon RDS将MySQL数据库移植到集群中,在一定的范围内解决了关系数据库的可扩
2、展性问题。,MySQL集群方式采用了Share-Nothing架构。,每台数据库服务器都是完全独立的计算机系统,通过网络相连,不共享任何资源。,这是一个具有较高可扩展性的架构,当数据库处理能力不足时,可以通过增加服务器数量来提高处理能力,同时多个服务器也增加了数据库并发访问的能力。,5,3.5 关系数据库服务RDS,RDS的基本原理,表单主要根据业务的需要进行针对性的划分,对数据库的管理人员提出了非常高的要求,如果划分得不科学,则查询经常会跨表单和服务器,性能就会严重下降。,6,RDS的基本原理,3.5 关系数据库服务RDS,集群MySQL通过主从备份和读副本技术提高可靠性和数据处理能力。,瘫
3、痪,升级,并发处理,3.5 关系数据库服务RDS,3.5.1 RDS的基本原理,3.5.2 RDS的使用,8,RDS的使用,3.5 关系数据库服务RDS,3.1 基础存储架构Dynamo,3.2 弹性计算云EC2,3.3 简单存储服务S3,3.4 非关系型数据库服务SimpleDB和DynamoDB,3.5 关系数据库服务RDS,3.6 简单队列服务SQS,3.7 内容推送服务CloudFront,3.8 其他Amazon云计算服务,3.9 AWS应用实例,3.10 小结,Amazon为解决云计算平台之间不同组件的通信专门设计开发的,简单队列服务,Simple Queue Service,SQ
4、S,3.6 简单队列服务SQS,3.6.1 SQS的基本模型,3.6.2 SQS的消息,12,SQS的基本模型,3.6 简单队列服务SQS,三个组成部分,系统组件,Component,队列,Queue,消息,Message,13,SQS的基本模型,3.6 简单队列服务SQS,系统组件,Component,系统组件是SQS的服务对象,而SQS则是组件之间沟通的桥梁,既可以是消息的发送者,也可以是消息的接收者,14,SQS的基本模型,3.6 简单队列服务SQS,消息,Message,消息是发送者创建的具有一定格式的文本数据,接收对象可以是一个或多个组件,消息的大小是有限制的,但是消息的数量并未做限
5、制,在SQS中,消息和队列是最重要的两个概念。,15,SQS的基本模型,3.6 简单队列服务SQS,队列,Queue,队列是存放消息的容器,类似于S3中的桶,队列的数目是任意的,创建队列时用户必须给其指定一个在SQS账户内唯一的名称,队列在传递消息时会尽可能“先进先出”,16,SQS的基本模型,3.6 简单队列服务SQS,不过SQS允许用户在消息中添加有关的序列数据,对于数据发送顺序要求比较高的用户可以在发送消息之前向其中加入相关信息。,3.6 简单队列服务SQS,3.6.1 SQS的基本模型,3.6.2 SQS的消息,18,SQS的消息,3.6 简单队列服务SQS,由系统返回给用户,用来标识
6、队列中的不同消息。,当从队列中接收消息时就会从消息那里得到一个接收句柄,这个句柄可以用来对消息进行删除等操作。,消息的正文部分,需要注意的是消息存放的是文本数据并且不能是URL编码方式。,消息体字符串的MD5校验和。,消息的格式,19,SQS的消息,3.6 简单队列服务SQS,消息取样,队列中的消息是被冗余存储的,同一个消息会存放在系统的多个服务器上。其目的是为了保证系统的高可用性,但这会给用户查询队列中的消息带来麻烦。,为了解决该问题,SQS采用了基于加权随机分布(Weighted Random Distribution)的消息取样,当用户发出查询队列中消息的命令后,系统在所有的服务器上使用
7、基于加权随机分布算法随机地选出部分服务器,然后返回这些服务器上保存的所查询的队列消息副本。,20,SQS的消息,3.6 简单队列服务SQS,当消息数量较少时,SQS进行消息取样时可能会出现返回结果不准确的现象,但由于消息采样具有随机性,只要用户一直查询下去,总会查询到所有的消息。,21,SQS的消息,3.6 简单队列服务SQS,SQS中,用户执行删除操作后,系统认为用户已接收消息,将队列中的消息彻底删除,若用户为接收到数据或未执行删除操作,SQS在队列中保留该消息。,为了保证其他组件不会看到用户的消息,SQS将该消息阻塞(加锁),但这把锁不会一直锁住消息,因为系统保留消息的目的是给用户重传数据
8、,为此SQS引入了一个可见性超时值。,22,SQS的消息,3.6 简单队列服务SQS,扩展操作就是将计时器按照新设定的值重新计时,终止就是将当前的计时过程终止,直接将消息由不可见变为可见。,可见性表明该消息可以被所有的组件查看,可见性超时值相当于一个计时器,在设定好的时间内,发给用户的消息对于其他所有的组件是不可见的。在计时的过程中可以进行两种操作:扩展和终止,3.1 基础存储架构Dynamo,3.2 弹性计算云EC2,3.3 简单存储服务S3,3.4 非关系型数据库服务SimpleDB和DynamoDB,3.5 关系数据库服务RDS,3.6 简单队列服务SQS,3.7 内容推送服务Cloud
9、Front,3.8 其他Amazon云计算服务,3.9 AWS应用实例,3.10 小结,基于Amazon云计算平台实现的内容分发网络(CDN)。借助Amazon部署在世界各地的边缘节点,用户可以快速、高效地对由CloudFront提供服务的网站进行访问。,CloudFront,3.7 内容推送服务CloudFront,3.7.1 CDN,3.7.2 CloudFront,26,传统的网络服务模式中,用户和内容提供商位于服务的两端,网络服务提供商将两者联系起来。在这种情况下,网络服务提供商仅仅起“桥梁”作用。,CDN,3.7 内容推送服务CloudFront,27,CDN,3.7 内容推送服务C
10、loudFront,用户在发出服务请求后,需要经过DNS服务器进行域名解析后得到所访问网站的真实IP,然后利用该IP访问网站。在这种模式中,世界各地的访问者都必须直接和网站服务器连接才可以访问相关内容,存在明显的缺陷。,首先,其次,最后,网站服务器可以容纳的访问量是有限的,这种模式中没有考虑访问者的地域问题,使用不同网络服务提供商服务的用户之间的互访速度也会受到限制,CDN技术通过将网站内容发布到靠近用户的边缘节点,使不同地域的用户在访问相同网页时可以就近获取。,解决办法,28,CDN,3.7 内容推送服务CloudFront,DNS在对域名进行解析时不再向用户返回网站服务器的IP,而是返回了
11、由智能CDN负载均衡系统选定的某个边缘节点的IP。,29,CDN,3.7 内容推送服务CloudFront,这种访问模式的好处主要有以下几点:,好处一,好处二,好处三,将网站的服务流量以比较均匀的方式分散到边缘节点中,减轻了网站源服务器的负担。,由于边缘节点与访问者的地理位置较近,访问速度快。,智能DNS负载均衡系统和各个边缘节点之间始终保持着通信联系,可以确保分配给用户的边缘节点始终可用且在允许的流量范围之内。,30,CDN,3.7 内容推送服务CloudFront,CDN的实现需要多种网络技术的支持,主要包括以下几种:,负载均衡技术,分布式存储,缓存技术,将流量均匀地分发到可以完成相同功能
12、的若干个服务器上,在减轻服务器压力的同时也避免了单一网络通道的流量拥堵。,网站内容不再是单一地被保存在源服务器上,多个边缘节点都可能保存相应的副本,通过将内容存储在本地或网络服务提供商的服务器上来改善用户的响应时间。,3.7 内容推送服务CloudFront,3.7.1 CDN,3.7.2 CloudFront,32,CloudFront,3.7 内容推送服务CloudFront,CloudFront正是通过Amazon设在全球的边缘节点来实现CDN的,但是较普通的CDN而言,它的优势无疑是巨大的。,首先,CloudFront的收费方式和Amazon的其他云计算收费方式一样是按用户实际使用的服
13、务来收费,这尤其适合那些资金缺乏的中小企业。,其次,CloudFront的使用非常简单,只要配合S3再加上几个简单的设置就可以完成CDN的部署,33,CloudFront,3.7 内容推送服务CloudFront,对象Object,源服务器Origin Server,分发Distribution,利用CloudFront进行分发的任意一个文件,存储需要分发文件的位置,作用是在CloudFront服务和源服务器之间建立一条通道,别名指向CNAME,边缘节点位置Edge Location,有效期Expiration,系统分配给用户域名的一个别名,实际的边缘节点服务器位置,文件副本在边缘节点上的存放
14、时间,34,CloudFront,3.7 内容推送服务CloudFront,CloudFront在此处就相当于CDN中的智能DNS负载均衡系统,用户实际是和CloudFront进行服务交互而不是直接和S3中的原始文件进行交互。,CloudFront与其他一些AWS不同的是,它只接受安全的HTTPS方式而不接受HTTP方式进行访问,这又进一步提高了安全性。,3.1 基础存储架构Dynamo,3.2 弹性计算云EC2,3.3 简单存储服务S3,3.4 非关系型数据库服务SimpleDB和DynamoDB,3.5 关系数据库服务RDS,3.6 简单队列服务SQS,3.7 内容推送服务CloudFro
15、nt,3.8 其他Amazon云计算服务,3.9 AWS应用实例,3.10 小结,快速应用部署Elastic Beanstalk和服务模板CloudFormation,AWS Elastic Beanstalk一种简化在AWS上部署和管理应用程序的服务。用户只需上传自己的程序,系统会自动地进行需求分配、负载均衡、自动缩放、监督检测等一些具体部署细节Elastic Beanstalk虚拟机是一种运行Apache Web Server、Tomcat 和 the Enterprise Edition of the Java platform的AMI虚拟机,AWS CloudFormation为开发者
16、和系统管理员提供一个简化的、可视的AWS资源调用方式。开发者可以直接利用CloudFormation提供的模板或自己创建的模板方便地建立自己的服务,云中的DNS服务Router 53,传统DNS服务器存在问题:域名对应IP地址变更传播非常缓慢Router 53管理DNS、处理DNS请求的全新AWS。该服务运行在Amazon的云中,提供了DNS授权服务器的功能,可以通过RESTAPI进行访问,API允许用户创建管理区(Zone),并在区中保存DNS记录为了提供高可用、低延迟的DNS服务,Amazon在全球分布了多台服务器。Route53会把DNS请求路由到最近的服务器,以便快速地响应用户请求,虚
17、拟私有云VPC,Amazon虚拟私有云(Virtual Private Cloud,VPC)安全的、可靠的、可以无缝连接企业现有的基础设施和Amazon云平台的技术,简单通知服务SNS和简单邮件服务SES,Amazon简单通知服务(Simple Notification Service,SNS)一种Web服务,提供方便的信息发布平台,具有高的可扩展性和成本优势 例如,运行在EC2上应用程序发布更新版本。在未来,Amazon的SNS将整合到如Amazon S3和Simple DB的其他AWS服务中Amazon简单邮件服务(Simple Email Service,SES)一个简单的高扩展性和具有
18、成本优势的电子邮件发送服务将高效率、低成本的优势转移到用户身上。同时SES采用了内容过滤技术,有效地阻止垃圾邮件,弹性MapReduce服务,通过在EC2上部署Hadoop实现了MapReduce的功能,Amazon将这项服务整合到AWS之中,为需要进行海量数据处理的用户提供了极大便利弹性MapReduce的运行过程非常简单,用户根本不需要考虑计算中涉及的服务器部署、维护及软件环境的配置 任务流由一系列前后相关的处理过程组成的,可以与线性链表的结构类比,除了第一个节点和最后一个节点,每个节点既是前一个节点的后继也是后一个节点的前驱,Amazon的弹性MapReduce将数据的实际计算过程都看成
19、是任务流中的某一个步骤,电子商务服务DevPay、FPS和Simple Pay,DevPayAmazon推出的主要针对开发者的软件销售及账户管理平台开发者:将自己开发的付费AMI和基于S3的相关产品通过DevPay平台进行发布用户:通过DevPay浏览包括软件功能和价格在内的相关信息,购买并支付费用,DevPay和淘宝的简单类比关系图,DevPay服务的基本架构图,电子商务服务DevPay、FPS和Simple Pay,DevPay允许开发者发布的产品付费AMI基于S3服务开发的产品,计费,开发者向用户收取的费用,DevPay向开发者收取的费用,一次性注册费,服务使用费,月租,按时足额缴纳使用
20、费用(正常情况),AWS服务使用费,另外计费方式,电子商务服务DevPay、FPS和Simple Pay,灵活支付服务FPS允许用户根据需要和实际情况对支付服务进行各种个性化的设置,使其和用户的电子商务平台更加契合 FPS服务中有三种身份的参与者Sender:消费者,是相关产品或服务费用的支付者 Recipient:销售者,它接受消费者支付的费用 Caller:资金流动的中介者角色,作用是将资金从sender转移到recipient,电子商务服务DevPay、FPS和Simple Pay,整个购买流程顾客商品网页:顾客在该网页上选购产品CBUI:联合品牌标志用户界面(商家及Amazon Pay
21、ments双重品牌标志)FPS,顾客购买基本流程,电子商务服务DevPay、FPS和Simple Pay,不同FPS服务返回的Payment Token,支付信息中有一个称为Payment Token的ID(1)Single-use:一次性交易中所需的Token(2)Recurring-use:每隔固定的间隔时间就对购买进行确认所需的Token(3)Multi-use:可以在多次交易中使用的Token(4)Prepaid:使用预付款方式进行交易中所需的Token(5)Postpaid:使用赊账方式进行交易所需的Token(6)Editing:对已存在的Token修改时所需FPS服务的最主要区别
22、:不同类型的FPS服务中会返回不同的Payment TokenFPS还向开发者提供了一个沙盒测试,而且不会产生任何费用,电子商务服务DevPay、FPS和Simple Pay,简单支付服务(Simple Pay)是一种允许顾客使用其Amazon账户进行支付的服务,商家只需要在相应的Web支付页面放置合适的按钮就可以使用户利用其Amazon账户对商品进行支付 最大优势:简单,Amazon执行网络服务,Amazon执行网络(Fulfillment Web Service,FWS)是一个非常有用的代理订单执行网络服务,简单来说它的作用就是产品存储及销售业务的托管,也可直接理解为Amazon替用户销售
23、产品FWS服务分成两个部分Inbound:对应着用户将自己的产品运送到Amazon的存储中心的过程Outbound:对应着顾客购买产品后的一系列流程,土耳其机器人,土耳其机器人计算机擅长的是有着固定流程的程式化计算,而对于像写作、翻译等具有高度灵活性且无固定规律可循的任务则显得无能为力。土耳其机器人的推出就是为了解决这个问题主要概念(1)Requester:任务的发布者(2)HIT:Requester发布的任务(3)Worker:任务的接受者(4)Assignment:可以用来监督HIT的完成情况,对于每个Worker都会创建一个assignment。(5)Reward:Worker成功完成H
24、IT后需要支付给其的奖励,土耳其机器人,基本工作流程任务发布接受任务任务发布者从中挑选适当的人来完成任务任务完成情况监督支付事先约定好的报酬,3.1 基础存储架构Dynamo,3.2 弹性计算云EC2,3.3 简单存储服务S3,3.4 非关系型数据库服务SimpleDB和DynamoDB,3.5 关系数据库服务RDS,3.6 简单队列服务SQS,3.7 内容推送服务CloudFront,3.8 其他Amazon云计算服务,3.9 AWS应用实例,3.10 小结,AWS应用实例,在线照片存储共享网站SmugMug三种照片访问方式(1)SmugMug以代理的身份处理用户访问请求(2)SmugMug
25、对用户访问请求进行重定向(3)利用有关API直接对存储在S3中的数据进行访问将基础设施部分外包给AmazonSmugMug的系统后台如虚线框所示,主要包括:队列服务和控制器(SmugMug提供),Amazon AWS(包括EC2和S3),AWS应用实例,在线视频制作网站AnimotoAnimoto允许用户上传图片和音乐,自动生成基于网络的视频演讲稿,并且能够与好友分享,该网站目前向注册用户提供免费服务用户的访问方式跟未使用AWS之前完全一致,用户的所有操作通过Animoto转到AWS中增加创业企业的灵活性,3.1 基础存储架构Dynamo,3.2 弹性计算云EC2,3.3 简单存储服务S3,3
26、.4 非关系型数据库服务SimpleDB和DynamoDB,3.5 关系数据库服务RDS,3.6 简单队列服务SQS,3.7 内容推送服务CloudFront,3.8 其他Amazon云计算服务,3.9 AWS应用实例,3.10 小结,Amazon要保持其云计算领域的优势,只能通过两个途径:采用开放式的架构;提供更为丰富的云服务,满足用户的需求 Dynamo架构是学习和掌握的重点。Dynamo是一个开放式的架构,开发者可以在其节点中使用其他的存储引擎,例如S3、SimpleDB、MySQL等其他存储系统 Cassandra是Dynamo和Bigtable的一种结合,对Dynamo感兴趣的可以继续学习Cassandra,