版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第3章Amazon云计算AWS(三)3.1基础存储架构Dynamo3.2弹性计算云EC23.3简单存储服务S33.4非关系型数据库服务SimpleDB和DynamoDB3.5关系数据库服务RDS3.6简单队列服务SQS3.7内容推送服务CloudFront3.8其他Amazon云计算服务3.9AWS应用实例3.10小结3.5关系数据库服务RDS3.5.1RDS的基本原理3.5.2RDS的使用4RDS的基本原理3.5关系数据库服务RDS网络CPUCPUCPU内存内存内存硬盘硬盘硬盘AmazonRDS将MySQL数据库移植到集群中,在一定的范围内解决了关系数据库的可扩展性问题。MySQL集群方式采用了Share-Nothing架构。每台数据库服务器都是完全独立的计算机系统,通过网络相连,不共享任何资源。这是一个具有较高可扩展性的架构,当数据库处理能力不足时,可以通过增加服务器数量来提高处理能力,同时多个服务器也增加了数据库并发访问的能力。53.5关系数据库服务RDSRDS的基本原理集群MySQL小表1表单划分Sharding小表2小表n存储于数据库服务器存储于数据库服务器存储于数据库服务器表单主要根据业务的需要进行针对性的划分,对数据库的管理人员提出了非常高的要求,如果划分得不科学,则查询经常会跨表单和服务器,性能就会严重下降。6SlaveASlaveBSlaveCMasterBMasterA主从备份客户端客户端客户端…………写写读RDS的基本原理3.5关系数据库服务RDS集群MySQL通过主从备份和读副本技术提高可靠性和数据处理能力。瘫痪升级并发处理3.5关系数据库服务RDS3.5.1RDS的基本原理3.5.2RDS的使用8RDS的使用3.5关系数据库服务RDS从用户和开发者的角度来看,RDS和一个远程MySQL关系数据库没什么两样。Amazon将RDS中的MySQL服务器实例称做DBInstance,通过基于Web的API进行创建和管理,其余的操作可以通过标准的MySQL通信协议完成。创建DBInstance时还需要定义可用的存储,存储范围为5GB到1024GB,RDS数据库中表最大可以达到1TB。可以通过两种工具对RDS进行操作:命令行工具和兼容的MySQL客户端程序命令行工具是Amazon提供的Javamazon网站下载。MySQL客户端是可以与MySQL服务器进行通信的应用程序3.1基础存储架构Dynamo3.2弹性计算云EC23.3简单存储服务S33.4非关系型数据库服务SimpleDB和DynamoDB3.5关系数据库服务RDS3.6简单队列服务SQS3.7内容推送服务CloudFront3.8其他Amazon云计算服务3.9AWS应用实例3.10小结Amazon为解决云计算平台之间不同组件的通信专门设计开发的简单队列服务SimpleQueueService,SQS3.6简单队列服务SQS3.6.1SQS的基本模型3.6.2SQS的消息12SQS的基本模型3.6简单队列服务SQS队列消息1消息2消息3消息n……三个组成部分系统组件Component队列Queue消息Message13SQS的基本模型3.6简单队列服务SQS队列消息1消息2消息3消息n……系统组件Component系统组件是SQS的服务对象,而SQS则是组件之间沟通的桥梁既可以是消息的发送者,也可以是消息的接收者14SQS的基本模型3.6简单队列服务SQS队列消息1消息2消息3消息n……消息Message消息是发送者创建的具有一定格式的文本数据,接收对象可以是一个或多个组件消息的大小是有限制的,但是消息的数量并未做限制在SQS中,消息和队列是最重要的两个概念。15SQS的基本模型3.6简单队列服务SQS队列消息1消息2消息3消息n……队列Queue队列是存放消息的容器,类似于S3中的桶队列的数目是任意的,创建队列时用户必须给其指定一个在SQS账户内唯一的名称队列在传递消息时会尽可能“先进先出”16SQS的基本模型3.6简单队列服务SQS不过SQS允许用户在消息中添加有关的序列数据,对于数据发送顺序要求比较高的用户可以在发送消息之前向其中加入相关信息。队列消息1消息2消息3消息n……3.6简单队列服务SQS3.6.1SQS的基本模型3.6.2SQS的消息18SQS的消息3.6简单队列服务SQS消息IDMessageID接收句柄ReceiptHandle消息体Body消息体MD5摘要MD5ofBody由系统返回给用户,用来标识队列中的不同消息。当从队列中接收消息时就会从消息那里得到一个接收句柄,这个句柄可以用来对消息进行删除等操作。消息的正文部分,需要注意的是消息存放的是文本数据并且不能是URL编码方式。消息体字符串的MD5校验和。消息的格式19SQS的消息3.6简单队列服务SQS消息取样队列中的消息是被冗余存储的,同一个消息会存放在系统的多个服务器上。其目的是为了保证系统的高可用性,但这会给用户查询队列中的消息带来麻烦。为了解决该问题,SQS采用了基于加权随机分布(WeightedRandomDistribution)的消息取样当用户发出查询队列中消息的命令后,系统在所有的服务器上使用基于加权随机分布算法随机地选出部分服务器,然后返回这些服务器上保存的所查询的队列消息副本。20发出查询请求返回查询结果ABC队列ABCDAB服务器1DB服务器2CD服务器3AC服务器4SQS的消息3.6简单队列服务SQS当消息数量较少时,SQS进行消息取样时可能会出现返回结果不准确的现象但由于消息采样具有随机性,只要用户一直查询下去,总会查询到所有的消息。21SQS的消息3.6简单队列服务SQSSQS中,用户执行删除操作后,系统认为用户已接收消息,将队列中的消息彻底删除若用户为接收到数据或未执行删除操作,SQS在队列中保留该消息。为了保证其他组件不会看到用户的消息,SQS将该消息阻塞(加锁),但这把锁不会一直锁住消息,因为系统保留消息的目的是给用户重传数据,为此SQS引入了一个可见性超时值。22不可见拓展重新计时可见消息生命周期结束超过4天接收消息未删除终止计时时间到时间未到消息删除未接收SQS的消息3.6简单队列服务SQS扩展操作就是将计时器按照新设定的值重新计时,终止就是将当前的计时过程终止,直接将消息由不可见变为可见。可见性表明该消息可以被所有的组件查看,可见性超时值相当于一个计时器,在设定好的时间内,发给用户的消息对于其他所有的组件是不可见的。在计时的过程中可以进行两种操作:扩展和终止3.1基础存储架构Dynamo3.2弹性计算云EC23.3简单存储服务S33.4非关系型数据库服务SimpleDB和DynamoDB3.5关系数据库服务RDS3.6简单队列服务SQS3.7内容推送服务CloudFront3.8其他Amazon云计算服务3.9AWS应用实例3.10小结基于Amazon云计算平台实现的内容分发网络(CDN)。借助Amazon部署在世界各地的边缘节点,用户可以快速、高效地对由CloudFront提供服务的网站进行访问。CloudFront3.7内容推送服务CloudFront3.7.1CDN3.7.2CloudFront26传统的网络服务模式中,用户和内容提供商位于服务的两端,网络服务提供商将两者联系起来。在这种情况下,网络服务提供商仅仅起“桥梁”作用。CDN3.7内容推送服务CloudFront本地DNSDNS服务器网站服务器提交所访问网站域名发出解析请求返回所访问网站的IP返回所访问网站的IP利用网站IP进行访问1234527CDN3.7内容推送服务CloudFront用户在发出服务请求后,需要经过DNS服务器进行域名解析后得到所访问网站的真实IP,然后利用该IP访问网站。在这种模式中,世界各地的访问者都必须直接和网站服务器连接才可以访问相关内容,存在明显的缺陷。首先其次最后网站服务器可以容纳的访问量是有限的这种模式中没有考虑访问者的地域问题使用不同网络服务提供商服务的用户之间的互访速度也会受到限制CDN技术通过将网站内容发布到靠近用户的边缘节点,使不同地域的用户在访问相同网页时可以就近获取。解决办法28CDN3.7内容推送服务CloudFront本地DNSDNS服务器智能DNS负载均衡系统边缘节点网站服务器提交所访问网站域名1发出解析请求2重定向3返回边缘节点的IP4返回边缘节点的IP5返回边缘节点的IP6利用边缘节点访问7通过内部DNS解析得到IP并向服务器发出请求8返回请求内容9返回请求内容10DNS在对域名进行解析时不再向用户返回网站服务器的IP,而是返回了由智能CDN负载均衡系统选定的某个边缘节点的IP。29CDN3.7内容推送服务CloudFront这种访问模式的好处主要有以下几点:好处一好处二好处三将网站的服务流量以比较均匀的方式分散到边缘节点中,减轻了网站源服务器的负担。由于边缘节点与访问者的地理位置较近,访问速度快。智能DNS负载均衡系统和各个边缘节点之间始终保持着通信联系,可以确保分配给用户的边缘节点始终可用且在允许的流量范围之内。30CDN3.7内容推送服务CloudFrontCDN的实现需要多种网络技术的支持,主要包括以下几种:负载均衡技术分布式存储缓存技术将流量均匀地分发到可以完成相同功能的若干个服务器上,在减轻服务器压力的同时也避免了单一网络通道的流量拥堵。网站内容不再是单一地被保存在源服务器上,多个边缘节点都可能保存相应的副本通过将内容存储在本地或网络服务提供商的服务器上来改善用户的响应时间。3.7内容推送服务CloudFront3.7.1CDN3.7.2CloudFront32CloudFront3.7内容推送服务CloudFrontCloudFront正是通过Amazon设在全球的边缘节点来实现CDN的,但是较普通的CDN而言,它的优势无疑是巨大的。首先CloudFront的收费方式和Amazon的其他云计算收费方式一样是按用户实际使用的服务来收费,这尤其适合那些资金缺乏的中小企业。其次CloudFront的使用非常简单,只要配合S3再加上几个简单的设置就可以完成CDN的部署33CloudFront3.7内容推送服务CloudFront对象Object源服务器OriginServer分发Distribution利用CloudFront进行分发的任意一个文件存储需要分发文件的位置作用是在CloudFront服务和源服务器之间建立一条通道别名指向CNAME边缘节点位置EdgeLocation有效期Expiration系统分配给用户域名的一个别名实际的边缘节点服务器位置文件副本在边缘节点上的存放时间34CloudFront3.7内容推送服务CloudFrontCloudFront边缘节点S3利用相关链接向服务器发出请求1给该访问请求分配边缘节点2边缘节点上无请求内容则向S3发出请求3返回请求内容的副本4返回请求内容5CloudFront在此处就相当于CDN中的智能DNS负载均衡系统,用户实际是和CloudFront进行服务交互而不是直接和S3中的原始文件进行交互。CloudFront与其他一些AWS不同的是,它只接受安全的HTTPS方式而不接受HTTP方式进行访问,这又进一步提高了安全性。3.1基础存储架构Dynamo3.2弹性计算云EC23.3简单存储服务S33.4非关系型数据库服务SimpleDB和DynamoDB3.5关系数据库服务RDS3.6简单队列服务SQS3.7内容推送服务CloudFront3.8其他Amazon云计算服务3.9AWS应用实例3.10小结快速应用部署ElasticBeanstalk和服务模板CloudFormation
AWSElasticBeanstalk——一种简化在AWS上部署和管理应用程序的服务。用户只需上传自己的程序,系统会自动地进行需求分配、负载均衡、自动缩放、监督检测等一些具体部署细节ElasticBeanstalk虚拟机是一种运行ApacheWebServer、Tomcat和theEnterpriseEditionoftheJavaplatform的AMI虚拟机AWSCloudFormation——为开发者和系统管理员提供一个简化的、可视的AWS资源调用方式。开发者可以直接利用CloudFormation提供的模板或自己创建的模板方便地建立自己的服务云中的DNS服务Router53
传统DNS服务器存在问题:域名对应IP地址变更传播非常缓慢Router53——管理DNS、处理DNS请求的全新AWS。该服务运行在Amazon的云中,提供了DNS授权服务器的功能,可以通过RESTAPI进行访问,API允许用户创建管理区(Zone),并在区中保存DNS记录为了提供高可用、低延迟的DNS服务,Amazon在全球分布了多台服务器。Route53会把DNS请求路由到最近的服务器,以便快速地响应用户请求虚拟私有云VPC
Amazon虚拟私有云(VirtualPrivateCloud,VPC)——安全的、可靠的、可以无缝连接企业现有的基础设施和Amazon云平台的技术
简单通知服务SNS和简单邮件服务SESAmazon简单通知服务(SimpleNotificationService,SNS)——一种Web服务,提供方便的信息发布平台,具有高的可扩展性和成本优势例如,运行在EC2上应用程序发布更新版本。在未来,Amazon的SNS将整合到如AmazonS3和SimpleDB的其他AWS服务中Amazon简单邮件服务(SimpleEmailService,SES)——一个简单的高扩展性和具有成本优势的电子邮件发送服务将高效率、低成本的优势转移到用户身上。同时SES采用了内容过滤技术,有效地阻止垃圾邮件弹性MapReduce服务
通过在EC2上部署Hadoop实现了MapReduce的功能,Amazon将这项服务整合到AWS之中,为需要进行海量数据处理的用户提供了极大便利弹性MapReduce的运行过程非常简单,用户根本不需要考虑计算中涉及的服务器部署、维护及软件环境的配置
任务流——由一系列前后相关的处理过程组成的,可以与线性链表的结构类比,除了第一个节点和最后一个节点,每个节点既是前一个节点的后继也是后一个节点的前驱,Amazon的弹性MapReduce将数据的实际计算过程都看成是任务流中的某一个步骤电子商务服务DevPay、FPS和SimplePayDevPay——Amazon推出的主要针对开发者的软件销售及账户管理平台开发者:将自己开发的付费AMI和基于S3的相关产品通过DevPay平台进行发布用户:通过DevPay浏览包括软件功能和价格在内的相关信息,购买并支付费用
DevPay和淘宝的简单类比关系图DevPay服务的基本架构图
电子商务服务DevPay、FPS和SimplePayDevPay允许开发者发布的产品付费AMI基于S3服务开发的产品计费
开发者向用户收取的费用
DevPay向开发者收取的费用
一次性注册费
服务使用费月租按时足额缴纳使用费用(正常情况)AWS服务使用费另外计费方式电子商务服务DevPay、FPS和SimplePay灵活支付服务FPS允许用户根据需要和实际情况对支付服务进行各种个性化的设置,使其和用户的电子商务平台更加契合
FPS服务中有三种身份的参与者Sender:消费者,是相关产品或服务费用的支付者Recipient:销售者,它接受消费者支付的费用Caller:资金流动的中介者角色,作用是将资金从sender转移到recipientFPS服务类型适合的交易类型AmazonFPSBasicQuickStart一次性的交易AmazonFPSAdvancedQuickStart买卖双方多次或重复交易AmazonFPSMarketplaceQuickStart有中介参与的三方交易AmazonFPSAggregatedPaymentsQuickStart将数个小额交易集合成单个交易AmazonFPSAccountManagementQuickStart账户管理电子商务服务DevPay、FPS和SimplePay整个购买流程顾客商品网页:顾客在该网页上选购产品CBUI:联合品牌标志用户界面(商家及AmazonPayments双重品牌标志)FPS顾客购买基本流程电子商务服务DevPay、FPS和SimplePay不同FPS服务返回的PaymentToken
支付信息中有一个称为PaymentToken的ID(1)Single-use:一次性交易中所需的Token(2)Recurring-use:每隔固定的间隔时间就对购买进行确认所需的Token(3)Multi-use:可以在多次交易中使用的Token(4)Prepaid:使用预付款方式进行交易中所需的Token(5)Postpaid:使用赊账方式进行交易所需的Token(6)Editing:对已存在的Token修改时所需FPS服务的最主要区别:不同类型的FPS服务中会返回不同的PaymentTokenFPS还向开发者提供了一个沙盒测试,而且不会产生任何费用电子商务服务DevPay、FPS和SimplePay简单支付服务(SimplePay)——是一种允许顾客使用其Amazon账户进行支付的服务,商家只需要在相应的Web支付页面放置合适的按钮就可以使用户利用其Amazon账户对商品进行支付
最大优势:简单
按钮类型功能StandardButton普通的一次性购物MarketplaceButton作为交易的中介者BasicDonationButton允许在美的通过美国国税局认证的非营利性机构募集捐款Marketplace-EnabledDonationButton允许第三方机构代表非营利性组织来募集捐款SubscriptionButton通过该按钮可以收取类似订阅费的重复性费用,还可以利用该按钮对用户提供免费试用服务或进行产品介绍Amazon执行网络服务
Amazon执行网络(FulfillmentWebService,FWS)——是一个非常有用的代理订单执行网络服务,简单来说它的作用就是产品存储及销售业务的托管,也可直接理解为Amazon替用户销售产品FWS服务分成两个部分Inbound:对应着用户将自己的产品运送到Amazon的存储中心的过程Outbound:对应着顾客购买产品后的一系列流程
土耳其机器人
土耳其机器人——计算机擅长的是有着固定流程的程式化计算,而对于像写作、翻译等具有高度灵活性且无固定规律可循的任务则显得无能为力。土耳其机器人的推出就是为了解决这个问题主要概念(1)Requester:任务的发布者(2)HIT:Requester发布的任务(3)Worker:任务的接受者(4)Assignment:可以用来监督HIT的完成情况,对于每个Worker都会创建一个assignment。(5)Reward:Worker成功完成HIT后需要支付给其的奖励土耳其机器人
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论