亚马逊AWS 全球多人在线游戏架构实践
亚马逊 AWS 利用 Amazon DynamoDB 助力游戏应用
亚马逊AWS利用Amazon DynamoDB助力游戏应用Amazon DynamoDB正迅速成为世界上发展势头最强劲的游戏数据库。
《水果忍者》(由Halfbrick工作室开发)、《战斗营地》(由PennyPop开发)等游戏都充分利用AmazonDynamoDB的一键式扩展性功能,支撑游戏高速的发展,为全球数百万玩家提供服务。
AmazonDynamoDB还得到包括Supervillain工作室在内的众多开发人员的赞赏,该工作室的知名作品包括《塔炮战争》与《特隆:进化》。
在今天的文章中,大家将了解Amazon DynamoDB如何帮助大家为自己的移动游戏快速建立起可靠且极具可扩展性的数据库层。
我们将分步剖析设计示例并了解如何以每天不足一杯咖啡钱的成本为游戏提供弹性资源支持。
我们还将模拟一家快速发展的客户,观察AmazonDynamoDB如何在时间与成本效率的前提下将玩家支持规模扩展至数百万之巨。
数据库层的重要性在为规模化应用程序设计架构时,一大关键性因素在于数据库层。
这一点对于游戏尤为重要,毕竟属于写入密集型应用。
游戏数据会随着玩家收集道具、击败敌人、获取金币、角色升级以及完成成就而不断更新。
每一个事件都必须被写入到数据库层,从而保证内容不会丢失。
可以想见,一旦进度损坏玩家将变得极为暴躁。
游戏与Web应用开发人员通常会使用MySQL等开源关系型数据库作为自己的数据库层,这是因为此类方案更为人们所熟悉。
遗憾的是,以MySQL为代表的关系型技术方案在开发之初更多考虑到的是高强度读取工作负载,而这种机制并不太适合游戏、社交媒体应用以及图片分享站点。
有鉴于此,NoSQL解决方案应运而生,它利用强大的写入数据吞吐能力与横向扩展能力替代了传统关系型数据库在查询灵活性领域的优势。
Amazon DynamoDB适合游戏开发人员需求的三个理由•Amazon包揽运营任务。
开发游戏本身就很累人,对吧?Amazon DynamoDB是一项托管服务,其中包含全方位运营支持以及多数据中心高可用性。
游戏行业中的多人在线游戏服务器构建技术分享
游戏行业中的多人在线游戏服务器构建技术分享多人在线游戏(MMOG)是当今游戏行业中最受欢迎的游戏类型之一。
它们通常具有海量的玩家同时在线,并且需要强大的服务器系统来支持这种规模。
本文将分享游戏行业中的多人在线游戏服务器构建技术,其中包括服务器架构、网络通信、数据管理和可扩展性等方面的知识。
在构建多人在线游戏服务器时,服务器架构是至关重要的。
传统的架构模式是将所有玩家连接到一个中央服务器,由该服务器处理所有游戏逻辑和数据管理。
然而,随着玩家数量的增加,这种集中式架构将会面临网络延迟和服务器负载的问题。
为了解决这些问题,现代的多人在线游戏服务器采用了分布式架构。
这意味着游戏世界将被分割成多个区域,每个区域由不同的服务器处理。
这样一来,每个服务器只需要处理相对较小的玩家数量,可以提供更快的响应速度和更好的游戏体验。
网络通信是多人在线游戏服务器中的另一个关键技术。
游戏服务器需要能够处理大量的玩家操作和消息传递。
传统的方法是使用基于TCP的通信协议,但这种协议会导致较高的延迟和带宽占用。
现代的多人在线游戏服务器通常使用基于UDP的通信协议,因为UDP具有更低的延迟和更快的数据传输速度。
此外,游戏服务器还需要实现一种可靠的重传机制,以确保消息的可靠传递。
数据管理是多人在线游戏服务器中的另一个重要方面。
游戏服务器需要管理大量的玩家数据、地图数据和物品数据等。
为了提高数据访问速度和并发处理能力,游戏服务器通常会使用内存数据库来存储和管理数据。
内存数据库将数据存储在服务器的内存中,可以实现快速的读写操作。
此外,游戏服务器还需要实现一种高效的数据同步机制,以确保所有玩家看到的游戏世界都是一致的。
可扩展性是多人在线游戏服务器中的另一个重要考虑因素。
随着玩家数量的增加,游戏服务器需要能够动态地扩展来处理更多的玩家。
一种常用的方法是使用云计算平台,如亚马逊AWS或微软Azure,这些平台提供了灵活的服务器扩展和负载均衡功能。
亚马逊AWS基于AWS云平台上的实时数据分析最佳实践分享
亚马逊AWS基于AWS云平台上的实时数据分析最佳实践分享1.选择合适的数据处理和存储服务:AWS提供了多种数据处理和存储服务,包括AWS Lambda、Amazon Kinesis、Amazon EMR(Elastic MapReduce)等。
根据数据量和数据处理需求的不同,选择合适的服务来实现实时数据分析。
2.使用AWS Kinesis进行数据收集和流处理:AWS Kinesis是一种可扩展的实时流处理服务,可以用于收集和处理大规模实时数据。
通过使用Kinesis,可以将数据有效地收集和传输到特定的目标,同时也可以对数据进行即时处理和实时分析。
3.使用AWS Redshift进行数据仓库:AWS Redshift是一种快速、可扩展、完全托管的数据仓库服务,可以帮助用户实现高效的数据存储和查询。
在实时数据分析中,将数据存储在Redshift中,可以快速地进行复杂的分析和查询操作。
4.使用AWS Lambda进行异步数据处理:AWS Lambda是一种无服务器计算服务,可帮助用户在不管理服务器的情况下运行应用程序代码。
通过使用Lambda,可以将实时数据处理与其他服务集成,实现异步处理和实时响应。
5.使用AWS Glue进行数据转换和ETL(Extract, Transform, Load):AWS Glue是一种可视化的数据准备和ETL工具,可以帮助用户将数据从不同的源头提取、转换和加载到目标系统中。
在实时数据分析中,使用Glue可以轻松地处理和转换数据,准备用于进一步分析的数据集。
6.使用AWS QuickSight进行数据可视化:AWS QuickSight是一种快速、互动式的商业智能工具,可以帮助用户轻松地可视化和分析数据。
通过使用QuickSight,可以实时地生成仪表板和报表,以便快速理解和解释数据。
7.使用AWS CloudWatch进行监控和警报:AWS CloudWatch是一种监控和管理服务,可以帮助用户实时地监控各种AWS资源和应用程序。
AWS大数据架构模式和最佳实践
– MapReduce, Hive, Pig, Spark
• 流处理
– 微-批量: Spark Streaming, KCL, Hive, Pig – 实时: Storm, AWS Lambda, KCL
流处理
批量分析
交互式分析 机器学习
分析
Amazon Machine Learning
Amazon Redshift
Impala
Pig
Streaming
Amazon Kinesis AWS Lambda
Amazon Elastic MapReduce
我应该使用什么流处理技术?
Spark Streaming Apache Storm Amazon Kinesis Client Library
44332211
Shard 1 / Partition 1
44332211
Shard 2 / Partition 2
消费者1
Count of Red = 4
Count of Violet = 4
消费者2
Count of Blue = 4
Count of Green = 4
我应该使用哪个流存储?
Amazon Kinesis
Amazon Kinesis
Amazon DynamoDB
流存储选项
• AWS 托管服务
• Amazon Kinesis → 流 • DynamoDB Streams → 表+流 • Amazon SQS → 队列 • Amazon SNS → 发布/订阅
• 非托管的
• Apache Kafka → 流
Amazon Kinesis
Amazon DynamoDB
AWS架设网站详细教程
1.1、首先使用浏览器登录亚马逊网站,选择完成注册。
1.2、选择创建新的AWS账户,跳转到注册页面。
1.3、输入注册的电子邮箱地址和用户名称,然后进入邮箱查找你的验证码,输入验证码进入下一步。
1.4、第一步,然后输入你的密码。
1.5、第二步,填写个人信息,注意,填写必须使用英文填写,地址可以选择中国。
5.1、需要下载小皮面板(phpstudy),进行一键部署网站环境。
5.2、登录GITHUB下载网站代码,带电脑端和手机端。ห้องสมุดไป่ตู้
六、安装phpstudy(所有操作都在远程服务器上)
6.1、解压缩下载文件包,安装。
6.2、点击安装。
6.3、启动MySQL,Nginx。
6.4、打开浏览器,输入localhost,出现如下界面,说明创建成功。
7.6、安装成功。
7.7、访问网站首页,输入localhost访问首页。
7.8、输入localhost/admin访问管理页面,对内容进行设置修改。
八、远端访问设置
8.1、简单设置,关闭防火墙。
8.2、配置防火墙。
本次我简单讲下关于关闭防火墙操作,选择开始,服务器管理器。
8.3、选择本地服务器,防火墙设置。
8.4、把防火墙都关闭了。
8.5、找到远端服务器的公网IP地址,本次演示地址是如下:
8.6、退出远端服务器,在自己电脑输入IP地址:54.205.90.1。成功建站。
九、购买域名,绑定IP地址
9.1、购买域名后,通过域名绑定所在的IP地址,就可以通过域名直接访问你的网站了。此处我就不深入展开了,大家自己去研究吧,推荐域名的网站:
四、服务器设置为中文
4.1、选择开始菜单栏,Control Panel。
AWS 亚马逊 利用云计算应对快速增长和变化的移动游戏服务
移动游戏的特Байду номын сангаас和需求
• • • • 用户增长迅速,带有不确定性 应对市场推广需求 社交特点所带来的叠加用户增长 推广高峰期过后的资源利用率
如何满足快速变化的需求
率提 高 效
• 快速扩容资源 • 快速部署、快速上线 • 更少的人力做更多的事情
传统运维
• 环节:需求征集、分析、采购、安装、调试、 部署、上线等等环节 • 时间按月计算 • 资源利用率不高
通过云计算的动态扩展
• 新游戏项目上线时间半天以内 • 市场推广,资源容量扩充一小时以内
仍然不够
• 后端web服务器的容量按照最高峰准备,且需要 一定余量 • 每天的不同时间段,用户访问量差异大
选项
• 云计算计费周期
进一步提升
完全自动化 - 集群自动扩展
• 通过API建立自动化运维系统,设立规则,系统自 动运转 • 服务器数量按照实际负载弹性增加和减少
Q & A
THANKS
Welcome to Join us!
Team!
Funplus Devops
利用云计算应对快速增长 和变化的移动游戏服务
唐守滨 Funplus
Funplus Introduction
• • • • FunPlus Game () US-China based game Focus on Europe and North American market. Cover multiple platforms such as Facebook, IOS and Android. • Over 5 million DAU
• 用户请求升起来后,机器自动启动、自动部署配 置和代码、自动上线 • 系统启动完以后,配置和代码部署时间10s,自动 加入到后端集群
amzaon运营团队组建计划及分工及绩效考核1
amzaon运营团队组建计划及分工及绩效考核一、目标:初步组建amazon为主的运营团队,明确分工和绩效考核二、团队架构amazon运营总监amazon运营运营经理(直属下属每个站二人)Amazon和自建站运营推广经理(直属下属二人)三、资金投入和利益分配运营总监或boss注入资金—amazon运营总监薪资—amazon运营经理薪资—amazon运营人员薪资—Amazon和自建站运营推广经理薪资—Amazon和自建站运营推广人员薪资—四、工作明细(按照工作顺序排列):1.资金投入和组织架构和分工2.产品和供应商和供货数量3.店铺开通4.调查竞争对手5.调研新品6.审核说明书7.产品图片的拍摄8.listing的翻译和上传和listing的优化9.产品fba发货10.Fba送评论11.Cpc广告的开通12.调价,补货13.Amazon站外推广14.独立站的建设15.自建站站外推广三、人员配置与分工四、店铺和网站推广方法1.送测评2.Cpc3.网站建设4.amazon站外推广(促销网站deals推广/sns包括社交网站、论坛、科技媒体网站红人营销KOL推广)5.自建网站站外推广(促销网站deals推广/sns包括社交网站、论坛、科技媒体网站红人营销KOL推广/EDM邮件营销推广/博客软文推广/联盟营销推广/)五、绩效考核选品:1.一个listing从选品到上传的时间和listing带来的投入和产出销售:1.Listing的上传进度和fba发货到货进度2.送品和上评论的数量和质量3.Cpc的acos4.每个listing每月订单成交数量和每月销售额5.Listing的缺陷率和feedback反馈率推广1.站外推广带来amazon单个listing排名的提升和销售额增长2.独立站流量和询盘以下为具体实施计划:(一)开发供应商负责人:要点:时间:实施方法:补充:完成时间:(二)开通店铺:负责人:要点:实施方法:完成时间:(三)调查竞争对手负责人:要点:实施方法:补充:(四)产品图片拍摄负责人:要点:实施方法:完成时间:(五)listing的上传和优化负责人:要点:实施方法:完成时间:(六)FBA发货负责人:要点:实施方法:完成时间:(七)FBA送评负责人:要点:实施方法:完成时间:(八)cpc开通负责人:要点:实施方法:完成时间:(九)amazon站外推广(八海跨境提供自助式跨境电商站外推广平台,资源丰富,效果可追溯,公开透明,公众号八海跨境)负责人:要点:实施方法:完成时间:(十)独立站建设负责人:要点:完成时间:。
学习使用AWS搭建云端应用
学习使用AWS搭建云端应用随着云计算技术的快速发展,越来越多的企业和个人开始关注云端应用的搭建和使用。
AWS(Amazon Web Services)作为全球领先的云计算服务提供商,被广大开发者和企业所青睐。
本文将介绍学习使用AWS搭建云端应用的步骤和相关技术。
一、云计算和AWS简介云计算(Cloud Computing)是指通过互联网将计算、存储和网络等资源提供给企业和个人使用的一种计算模式。
AWS是由亚马逊公司提供的一个全球云计算平台,为用户提供了众多强大的云服务,包括计算、存储、数据库、人工智能等。
二、创建AWS账号与登录控制台要学习使用AWS搭建云端应用,首先需要在官网上创建一个AWS账号。
登录AWS控制台后,可以看到各种可供选择的服务。
三、选择适合的云服务AWS提供了众多类型的云服务,包括计算、存储、数据库、网络等。
根据自己的需求,选择适合的云服务是很重要的一步。
1.计算服务AWS的计算服务主要包括EC2(Elastic Compute Cloud)和Lambda。
EC2提供了虚拟的计算资源,用户可以根据自己的需求创建和管理虚拟机实例。
Lambda 则是一种无需管理服务器的计算服务,开发者可以直接编写函数并上传到Lambda 上,由AWS执行。
2.存储服务AWS的存储服务包括S3(Simple Storage Service)和EBS(Elastic Block Store)。
S3是一种可扩展的对象存储服务,用户可以将任意类型的数据存储在S3桶中并随时访问。
EBS则是云计算实例的持久块存储,可以作为EC2实例的根存储器或者数据存储器。
3.数据库服务AWS提供了多种类型的数据库服务,包括RDS(Relational Database Service)、DynamoDB、ElastiCache等。
RDS是一种管理型的关系型数据库服务,支持多种数据库引擎。
DynamoDB是一种全托管的NoSQL数据库服务,提供了高可靠性和可伸缩性。
AWS移动服务在游戏中的应用_陈琳涛
这场我们会了解到什么?•如何使用AWS移动服务构架移动应用•Unity on AWS•演示– Unity 应用使用AWS的游戏公司认证 & 同步分析用户行为运行商业逻辑存储用户内容 存储数据 推送信息移动应用Mobile SDK 记录实时事件 设备测试管理用户认证和跨设备同步配置 记录活跃用户 运行托管的无状态的客户端代码 跨设备,操作系统测试 存储并共享用户产生数据 通过可靠的发送信息留存客户 高速存储和查询跨用户和设备的NoSQL 数据 收集实时事件日志并做出快速响应Amazon Cognito 认证 & 同步Amazon Mobile Analytics 分析用户行为 AWS Lambda 运行商业逻辑 Amazon S3 Amazon DynamoDB 存储用户内容 存储数据 Amazon SNS Mobile Push 推送信息 AWS上的移动应用Mobile SDK 记录实时事件 Amazon Device Farm 设备测试Amazon Kinesis好的,我们来打造一个应用吧!应用例子: “Find-a-Like”•场景: 创建一个兴趣属性,当周围有志趣相投的用户时,收到通知。
•功能:–创建兴趣属性并上传内容–持续跟踪位置信息–当附近出现志趣相投的用户时,获得通知–记录并分析应用行为逐层考虑一下 创建用户信息, 上传内容,并记录跟踪行为跟踪位置和用户兴趣点 匹配并通知用户 应用关注“你” 活动关注“你做什么”用户关注“他们 & 我”1 2 3创建用户信息, 上传内容,并记录跟踪行为1用户认证: Amazon Cognito•认证匿名用户或者通过第三方提供商•生成临时证书并强制定期更新从而限制证书有效时间(STS)•跨设备和身份验证提供商的单一用户•使用IAM roles提供安全最佳实践创建你的配置文件: Cognito Sync •创建你的配置文件并在Cognito本地数据集存储•会在你所有的设备上同步数据集•Cognito 数据集内容为键/值对AWSCognito *syncClient = [AWSCognito defaultCognito]; AWSCognitoDataset *subs = [syncClient openOrCreateDataset:@”UserProfile"];[dataset setString:”Oli" forKey:@”name"];[dataset setString:”50km" forKey:@”interestRadius"]; [dataset synchronize];上传用户内容: Amazon S3•Amazon S3–高可用的对象存储–设计持久性99.999999999%–提供HTTP / HTTPS 连接点•S3 传输方法–从设备上直接上传–在后台传输数据–直接二进制上传,不必在本地先存为文件Amazon S3记录用户行为: Amazon Mobile Analytics •收集,可视化并分析用户的移动应用行为 •无缝的扩展到每天处理数十亿个事件 •你拥有数据完整的控制和所有权Amazon MobileAnalytics AWSMobileAnalytics *analytics =[AWSMobileAnalyticsmobileAnalyticsForAppId :@"yourAppId ”identityPoolId : @"cognitoId"];逐层考虑一下 创建用户信息, 上传内容, 并记录跟踪行为跟踪位置和用户兴趣点 匹配并通知用户 应用关注“你” 活动关注“你做什么”用户关注“他们 & 我”1 2 3跟踪位置和用户兴趣点2自适应聚焦在商业逻辑,而不是底层架构上 免维护Lambda 根据事件速率自动调整架构适应 你自己的代码“Run your code in the cloud in response to events andscale without any servers to manage ”使用JavaScript, Java 或者Python 编写代码•无状态的代码Lambda 函数•在你的移动应用中直接调用Lambda 函数•根据事件触发函数 (状态转换) 导入其他服务: –在你的对象存储中存入新文件–在你的NoSQL数据库中加入新栏目–在你的通知服务中添加新的信息Amazon LambdaAmazon DynamoDB • 管理的 NoSQL 数据服务–稳定的低延迟性能 –无缝的可扩展性 –没有存储容量限制 –高持久性和可用性 –3个设施上复制 DynamoDBtable itemsattributes如何收集位置和兴趣信息?移动端后端逻辑数据库“位置跟踪” 和 “兴趣” 微服务Amazon LambdaAmazon APIGateway Amazon DynamoDB•/location •/interests•reportLocation() •likeInterest() •createInterest() •listInterest()Microservice•location-table •interest-table概念说明: Geohash •GeoHash是一个将空间划分为网格上桶位置的经纬地理编码系统•可以数据化展示e.g.6093522776912656819 将地球分为6个区(A,B,C,D,E,F) ,例如立方体的6个面。
亚马逊AWS 基于AWS云平台的游戏架构最佳实践
Traditional Rigid AWS Elastic ServersDemand Capacity Excess Capacity Wasted $$Demand Unmet DemandUpset PlayersMissed Revenue :(11 Regions52 Edge Locations Continuous Expansion关注于游戏设计本身ELB •Choose region•>=2 Availability Zones•Amazon EC2 for app•Elastic Load Balancing•Amazon RDS database•Multi-AZRegion•Amazon S3 for game data •Assets•UGC•Analytics•... with CloudFront!•Auto Scaling Group•Capacity on demand•Respond to users•Automatic healing •Amazon ElastiCache•Memcached•Redis•RDS read-replicaELBRegionCloudFrontCDN•Games are write heavy •Caching of limited use •Key value pair •Binary structures•Database = bottleneckELBRegionCloudFrontCDN(not fun)A-ZN-ZA-HI-PELBRegionCloudFrontCDN •Fully-managed•NoSQL data store•Provisioned throughput•Secondary indexes•PUT/GET keys•Document Support!•400 KB Items•Auto Scaling (OSS)ELBRegionCloudFrontCDN❑全球部署、快速扩展❑“大世界”❑高性能、低延迟❑资源弹性按需伸缩MMO实战模拟:武士对决http://bit.ly/superdata-latency100+ms100+ms100+ms 100+ms1.Game serversHTTP Game APIsTokyoOregonFrankfurtVPC SubnetVPC SubnetAvailability Zone Availability Zone BVPC SubnetVPC SubnetAuto ScalinggroupWEBVPC SubnetWEBJOBSRegion ①Login via HTTP API ②Download Game Assets ③Matchmaking to Game ServerEC2EC2EC2Region ①Login via HTTP API ②Download Game Assets ③Matchmaking to Game Server ④Connect to Server ⑤Hack Apart Your Friends ⑥Game Over EC2EC2Region ①Login via HTTP API ②Download Game Assets ③Matchmaking to Game Server ④Connect to Server ⑤Hack Apart Your Friends ⑥Game Over ⑦Write via HTTP API EC2EC2VPC Private SubnetVPC Public SubnetAvailability Zone A Availability Zone BVPC Public SubnetVPC Private Subnet GAME GAME GAME GAME GAME GAMETokyoOregonFrankfurt??VPC SubnetAvailability Zone A Availability Zone BVPC SubnetAuto ScalinggroupWEB WEBOregonTokyoVPC SubnetJOBSRegion•Game API backend pods •Core session•Matchmaking•S3+CloudFront•DLC, assets•Game saves•UGC•Game server pod(public subnet)•Direct client socket•Scale on players①Login via API②③Region①Login via API②③④⑤⑥RegionRegion A EC2 API Region B EC2 APIVPC Private Subnet VPC Public Subnet Availability Zone AS3 Bucket Amazon CloudWatch LogsGAME GAME GAMEVPC Private Subnet VPC Public Subnet Availability Zone AAmazonKinesisS3 BucketAmazon RedshiftGAME GAME GAMEhttp://bit.ly/ec2-enhanced-nethttp://bit.ly/linux-tuningBefore: HypervisorAfter:HardwareIntel®Xeon®v3 •Haswell microarchitecture•P state and C state controlgame server statelessjennysun@。
亚马逊AWS VPC最佳实践-苏振祎
colin.su@公司介绍•上海冠闵信息科技有限公司(Silver Lining Information TechnologyCo., Ltd.)成立于2014年;•服务体系:代付服务,咨询服务,公有云迁移服务,云平台运维服务•专业可靠的运维和服务团队,依托自行开发的高效协作管理平台,为客户提供7x24的专业实施运维服务;•目前是AWS中国认证的高级咨询合作伙伴,服务团队具有多名AWS架构师SA的和业界IT领域的专家级认证资质(如CCIE,Vmware,Oracle等)运维平台—CloudEasy(御云者)•御云者简介–御云者是上海冠闵SilverLining自主开发所推出的一款基于AWS的监控管理平台软件,其清晰友好的界面以及全方位的可视化监控,大幅提高企业在云平台服务上的管理能力,帮助我们的客户能把使用公有云服务变得更为简单,能够省心安心的享受公有云服务带来的各项便利及优势。
•御云者优势–实现公有云资源和企业应用系统的可视化–主动式运维管理,大幅减少运维工单–实现开发、测试和运维团队之间的有效协作–优化资源落实IT容量管理和预算管理–缩短IT资源申请周期,提高IT资。
源利用率日程安排•传统企业数据中心架构•VPC网络设计安全实践o NAT,VPN高可用•企业与AWS云对接最佳实践o客户案例分享传统企业数据中心架构CIMP CIMPApp 1App 1App 2App 2Embedded Services LB IDS/IP S DDoS SSLFWAppOSAppOSAppOSApp OSAppOSAppOSApp OSAppOSAppOSApp OSAppOSAppOSApp OSAppOSAppOSWAASAXG AVSWAN互联网VPN运维平台业务系统业务系统业务系统基础设施管理平台传统数据中心映射到AWS传统数据中心基础设施AWS基础设施VPC最佳安全实践分享•安全管理–账户及VPC隔离–使用VPC Peering(对等体)来创建共享的安全服务•有哪些组件你可以使用–子网–安全组&网络访问控制列表–Internet网关–NAT–ELB(负载均衡器)–WAF(Web应用防火墙)设计高可用&弹性架构Web serverSSH 堡垒机EC2负载均衡NATS3CloudFrontRoute 53安全组自动扩展WAFWAF"三明治"私有子网负载均衡管理员用户互联网安全组EC2-CloudWatch 自动扩展前端私有子网MySQL 实例安全组后端私有子网DMZ 公有子网安全组如何安全有效的控制Internet 连接•通过IGW访问Internet NAT ProxyProxyDMZ•分配弹性IP地址•控制Internet路由:–创建公有和私有子网–不同的子网关联不同的路由表•通过NAT 实例访问Internet•通过Proxy访问Internet选择适合的方式访问Internet•Public IPs and IGW •优点:–高可用–可扩展–可限制目的端口、CIDRs•缺点:–暴露在Internet;安全控制弱化–可以访问所有的服务(如所有S3Bucket)•NAT/PAT server•优点:–集中控制–所有协议•缺点:–管理成本高–可以访问所有的服务(如所有S3Bucket)•Proxy server•优点:–集中控制–安全选项较多•缺点:–管理成本高–仅支持HTTP/HTTPSNAT 实例应用场景Availability Zone A Private subnetPublic subnetAvailability Zone BPublic subnetELBWebELBWebInternetNATVPCPrivate subnetPrivate subnetPrivate subnetAWS region如果NAT 实例发生故障…Availability Zone A Private subnetPublic subnetAvailability Zone BPublic subnetELBWebELBWebInternetNATVPCPrivate subnetPrivate subnetPrivate subnetAWS regionPrivate Route Table Destination Target 10.1.0.0/16Local 0.0.0.0/0Black Hole•NAT 实例故障将会出现路由黑洞NAT 实例高可用设计—正常状态•创建EC2 Role,并赋予相应的权限•启动、配置NAT实例,关联EC2 Role,分配EIP•配置NAT 实例安全组(SSH,ICMP)•关闭NAT 实例的Source/Dest检测•创建VPC路由表关联到相应的Subnet•配置NAT实例监控脚本NAT 实例高可用设计—发生故障•NAT实例持续的互相监控对方的健康状态•当某个NAT实例出现故障,健康的实例会修改不健康实例所负载子网的路由NAT 实例高可用设计—停止实例•状态正常的实例以每分钟的频率持续的执行关闭不健康的NAT 实例,直至关闭为止NAT 实例高可用设计—重启实例•等待2分钟之后重新启动实例NAT 实例高可用设计—状态恢复•当实例状态恢复正常之后,VPC路由表恢复到最初•两个NAT Instance继续互相监控对方的状态传统企业数据中心出口设计设计要素•安全性(Web防火墙,IPS, DDoS…)•高可用性和链路自动恢复•服务质量和性能(QoS保障)•经济成本(专线还是Internet)•简化故障诊断和处理与云对接要注意什么…企业混合云的连接AWS region•DNS•Directory•Logging•Monitoring•SecurityShared servicesCustomer networkAvailability Zone A Availability Zone BAWS regionCustomer networkHA VPN PairiBGPRe-advertise VPC CIDR via IGPeBGP AWS ASN 7224VPC CIDReBGPCustomer CIDRs or Default RouteCustomer ASN (Public or Private)VPN2Tun1VPN1Tun1VPN2Tun2VPN1Tun2VPN 高可用性连接最佳实践案例分享—某500强制造企业。
亚马逊AWS的服务器架构及优化方案
亚马逊AWS的服务器架构及优化方案亚马逊AWS(Amazon Web Services)是全球最大的云计算服务提供商之一。
AWS提供各种云计算相关的服务,包括计算、存储、数据库、分析、机器学习、人工智能等。
其中,AWS的服务器架构是其成功的关键之一。
在本文中,我们将探讨AWS的服务器架构及如何优化。
1. 服务器架构AWS的服务器架构采用多层次的系统架构,包括数据中心、区域、可用区、实例和存储。
下面我们逐个介绍。
数据中心是AWS云计算服务的核心基础设施,其提供了可靠的电力、网络、空调和物理安全。
AWS目前在全球70个区域(包括已经启动的和尚未启动的区域)拥有100多个数据中心。
每个AWS区域都由一个或多个数据中心组成。
例如,北美区域包括美国西部、美国东部、加拿大中部等多个数据中心。
数据中心下面的是区域,AWS的区域是由一些相邻的地理位置组成的。
现在,AWS区域的数量已经达到了全球22个。
AWS 的区域与数据中心的联系非常紧密,基本上每个数据中心都在一个区域内。
区域下一层是可用区,AWS的可用区是指在同一AWS区域中独立运营的一个或多个数据中心。
每个可用区都是独立的,可以实现高可用性和灾备恢复。
例如,美国东部(弗吉尼亚)AWS区域包括6个可用区。
实例是AWS云计算服务提供的虚拟服务器,提供各种计算能力和服务,支持多种操作系统和应用程序。
AWS的实例是根据业务需求进行规划和分配的,可以根据需要动态增加或减少。
AWS 的实例规划非常灵活,有多种规格可供选择,可以根据需要选择适当的规格。
存储是AWS提供的云存储服务,支持不同的存储类型,包括对象存储,文件存储和块存储。
AWS的存储也非常灵活,可以根据业务需要进行灵活选取。
2. 优化方案在使用AWS的服务时,有一些优化技巧可以提高系统的性能和可用性。
下面我们将从以下几个方面进行介绍。
2.1 规划优化在使用AWS的服务时,最重要的事情是规划。
规划是根据业务需求和服务特性进行部署和调整的过程。
亚马逊AWS 蓝绿部署在AWS上的实践模式_武杰
本话题讨论的主要内容•系统部署的风险分析•蓝/绿部署的重要概念•在AWS上进行蓝/绿部署的益处•在AWS上进行蓝/绿部署模式•数据层面切换的最佳实践•成本优化系统部署的风险•面临的挑战•应用程序出错•基础架构失效•容量的问题•扩展的问题•人为的错误•流程失效•回滚的问题•对业务的影响•宕机时间•数据丢失•糟糕的客户体验•损失收入•业务人员的抱怨•员工压力太大•浪费时间和资源在AWS上定义蓝/绿部署什么是蓝/绿部署?•“蓝”•(existing production environment)•“绿”•(parallel environmentrunning a differentversion of theapplication)•“部署”•(ability to switch traffic betweenthe two environments)什么是环境?Boundary for where things changed and what needs to be deployed示例:App component, app tier, microservice 示例:DNS, load balancerv2.2.103v2.3.020在AWS上进行蓝/绿部署的益处•AWS:•弹性部署•多样的选择•容量可动态调整•按实际用量付费•高效快速在AWS上进行蓝/绿部署模式共有的问题: 环境的自动化•成功的部署取决于对如下风险的克服:•应用程序出问题(功能性的问题)•应用程序的性能问题•人员/流程失效•基础架构失效•回滚的容量•高额的成本•蓝/绿部署的不同模式对以上这些风险有不同的处理方式CloudFormation全面的自动化平台✓定义从网络到软件的整个环境✓控制高一级的自动化服务: Elastic Beanstalk,OpsWorks, Auto Scaling自动化平台的长处模式: 经典的DNS切换•部署流程:•从已有的应用环境开始•部署新的应用环境•测试绿的应用环境•通过DNS逐步切换流量•监控你的环境•出现问题,回滚到蓝的应用环境模式: 经典的DNS切换•部署流程:•从已有的应用环境开始•部署新的应用环境•测试绿的应用环境•通过DNS逐步切换流量•监控你的环境•出现问题,回滚到蓝的应用环境•部署流程:•从已有的应用环境开始•部署新的应用环境•测试绿的应用环境•通过DNS逐步切换流量•监控你的环境•出现问题,回滚到蓝的应用环境模式: 经典的DNS 切换模式: 经典的DNS切换•部署流程:•从已有的应用环境开始•部署新的应用环境•测试绿的应用环境•通过DNS逐步切换流量•监控你的环境•出现问题,回滚到蓝的应用环境模式: 经典的DNS切换•部署流程:•从已有的应用环境开始•部署新的应用环境•测试绿的应用环境•通过DNS逐步切换流量•监控你的环境•出现问题,回滚到蓝的应用环境模式: 经典的DNS切换•部署流程:•从已有的应用环境开始•部署新的应用环境•测试绿的应用环境•通过DNS逐步切换流量•监控你的环境•出现问题,回滚到蓝的应用环境模式: 经典的DNS切换•部署流程:•从已有的应用环境开始•部署新的应用环境•测试绿的应用环境•通过DNS逐步切换流量•监控你的环境•出现问题,回滚到蓝的应用环境•"Resources": {•"myApp": { "Type": "AWS::ElasticBeanstalk::Application "},•"myConfigTemplate": { •"Type":"AWS::ElasticBeanstalk::ConfigurationTemplate "•},•"myBlueAppVersion ": {•"Type": "AWS::ElasticBeanstalk::ApplicationVersion "•},•"myBlueEnvironment ": {•"Type":"AWS::ElasticBeanstalk::Environment "•},•"myBlueEndpoint ": {"Type": “AWS::Route53::RecordSet "},•..."myGreenAppVersion ": {"Type": "AWS::ElasticBeanstalk::ApplicationVersion "},"myGreenEnvironment ": {"Type": "AWS::ElasticBeanstalk::Environment "},"myGreenEndpoint ": {"Type": "AWS::Route53::RecordSet "}...自动化你的应用环境•Use CloudFormation templates to model your environment•Version-control your templates•Use Elastic Beanstalk or OpsWorks to model your applications inside the template•Update CloudFormationstack from updated template containing green environmentAmazon Route 53 基于权重的DNS切换•AWS Elastic Beanstalk environment endpoint swap•DNS record time-to-live (TTL)•Reaction time = (TTL ×no. of DNS caches) + Route53 propagation time, up to 1min •Beware of misbehaving DNS clients•Auto Scaling and Amazon Elastic Load Balancing (ELB) need time to scale•Measurable metrics•ELB: Latency, SurgeQueueLength, SpillOverCount, BackendConnectionErrors •Your application metrics•Your deployment goals模式回顾:经典的DNS切换风险克服的程度说明程序的功能问题优有利于逐层剖析问题程序的性能问题优平滑切换,流量分流管理人员/流程出错好取决于自动化框架基础架构失效好取决于自动化框架回滚中DNS TTL 的复杂性(reaction time,flip/flop)成本优通过Auto Scaling来优化成本让我们去掉DNS的切换…模式: 切换Auto Scaling Groups•部署流程:•Amazon Elastic Load Balancer(ELB) ,部署在应用前段•从现有的Auto Scaling Group(ASG)开始•部署&扩展新的ASG•测试绿的应用环境•在ELB上注册绿的ASG•在ELB上去除蓝的ASG模式: 切换Auto Scaling Groups•部署流程:•Amazon Elastic Load Balancer(ELB) 部署在应用前段•从现有的Auto Scaling Group(ASG)开始•部署&扩展新的ASG•测试绿的应用环境•在ELB上注册绿的ASG•在ELB上去除蓝的ASG模式: 切换Auto Scaling Groups•部署流程:•Amazon Elastic Load Balancer(ELB) 部署在应用前段•从现有的Auto Scaling Group(ASG)开始•部署&扩展新的ASG•测试绿的应用环境•在ELB上注册绿的ASG•在ELB上去除蓝的ASG模式: 切换Auto Scaling Groups•部署流程:•Amazon Elastic Load Balancer(ELB) 部署在应用前段•从现有的Auto Scaling Group(ASG)开始•部署&扩展新的ASG•测试绿的应用环境•在ELB上注册绿的ASG•在ELB上去除蓝的ASG模式: 切换Auto Scaling Groups•部署流程:•Amazon Elastic Load Balancer(ELB) 部署在应用前段•从现有的Auto Scaling Group(ASG)开始•部署&扩展新的ASG•测试绿的应用环境•在ELB上注册绿的ASG•在ELB上去除蓝的ASG模式: 切换Auto Scaling Groups•部署流程:•Amazon Elastic Load Balancer(ELB) 部署在应用前段•从现有的Auto Scaling Group(ASG)开始•部署&扩展新的ASG•测试绿的应用环境•在ELB上注册绿的ASG•在ELB上去除蓝的ASG模式: 切换Auto Scaling Groups•部署流程:•Amazon Elastic Load Balancer(ELB) 部署在应用前段•从现有的Auto Scaling Group(ASG)开始•部署&扩展新的ASG•测试绿的应用环境•在ELB上注册绿的ASG•在ELB上去除蓝的ASG模式: 切换Auto Scaling Groups•部署流程:•Amazon Elastic Load Balancer(ELB) 部署在应用前段•从现有的Auto Scaling Group(ASG)开始•部署&扩展新的ASG•测试绿的应用环境•在ELB上注册绿的ASG•在ELB上去除蓝的ASG在ELB后面切换Auto Scaling groups•Register with ELB:–One or more EC2 instances–One or more Auto Scaling groups •Least outstanding requests algorithm favors green ASG instances for new connections•Connection draining -gracefully stop receiving traffic•Scale out green ASG before ELB registration•Put blue instances in standby •$ aws autoscaling attach-load-balancers \•--auto-scaling-group-name "green-asg" \•--load-balancer-names "my-app-elb"•$ aws autoscaling set-desired-capacity \•--auto-scaling-group-name "green-asg" \•--desired-capacity X•$ aws autoscaling detach-load-balancers \•--auto-scaling-group-name "blue-asg" \•--load-balancer-names "my-app-elb"•$ aws autoscaling enter-standby \•--instance-ids i-xxxxxxxx\•--auto-scaling-group-name "blue-asg"\•--should-decrement-desired-capacity模式回顾: 切换Auto Scaling groups风险克服的程度说明程序的功能问题优有利于逐层剖析问题,附加ELB程序的性能问题好流量分流管理,力度较粗,ELB预热人员/流程出错好取决于自动化框架基础架构失效优Auto-scaling回滚优没有DNS的复杂性成本优通过Auto Scaling来优化成本让我们继续减少应用环境的限制…模式: 切换Launch Configurations•部署流程:•从现有的在ELB后面的ASG &Launch Configuration 开始•在ASG上注册更新的绿的LaunchConfiguration•将ASG的容量逐步增加到原有容量的2倍•将ASG的容量减少到原有的容量•为增加可控性,将老的实例切换到备份状态模式: 切换Launch Configurations•部署流程:•从现有的在ELB后面的ASG &Launch Configuration 开始•在ASG上注册更新的绿的LaunchConfiguration•将ASG的容量逐步增加到原有容量的2倍•将ASG的容量减少到原有的容量•为增加可控性,将老的实例切换到备份状态模式: 切换Launch Configurations•部署流程:•从现有的在ELB后面的ASG &Launch Configuration 开始•在ASG上注册更新的绿的LaunchConfiguration•将ASG的容量逐步增加到原有容量的2倍•将ASG的容量减少到原有的容量•为增加可控性,将老的实例切换到备份状态模式: 切换Launch Configurations•部署流程:•从现有的在ELB后面的ASG &Launch Configuration 开始•在ASG上注册更新的绿的LaunchConfiguration•将ASG的容量逐步增加到原有容量的2倍•将ASG的容量减少到原有的容量•为增加可控性,将老的实例切换到备份状态模式: 切换Launch Configurations•部署流程:•从现有的在ELB后面的ASG &Launch Configuration 开始•在ASG上注册更新的绿的LaunchConfiguration•将ASG的容量逐步增加到原有容量的2倍•将ASG的容量减少到原有的容量•为增加可控性,将老的实例切换到备份状态模式: 切换Launch Configurations•部署流程:•从现有的在ELB后面的ASG &Launch Configuration 开始•在ASG上注册更新的绿的LaunchConfiguration•将ASG的容量逐步增加到原有容量的2倍•将ASG的容量减少到原有的容量•为增加可控性,将老的实例切换到备份状态切换launch configurations•Launch configurations:Blueprints for ASG instance provisioning, each ASG points to exactly one •Scale-out & replacement:Events will use the attached (green) launch configuration to provision instances•Scale-in:ASG scale-in events will terminate instances with oldest launchconfiguration first while trying to keep capacity in AZs balanced•May need to address AZ imbalances separately•Temporarily remove instances from ASGPlace specific ASG instances (blue) into standby –stop receiving traffic模式回顾: 切换Launch Configurations风险克服的程度说明程序的功能问题中在异构环境中定位错误比较复杂程序的性能问题中流量分流的力度不够细, initial trafficload人员/流程出错好取决于自动化框架基础架构失效优Auto-Scaling回滚优没有DNS的复杂性成本好通过Auto Scaling来优化成本, 但是开始时需要额外的扩展蓝/绿部署模式总结模式对风险的克服经典式DNS切换切换Auto Scalinggroups切换launch configs程序的功能问题Canary analysis Canary analysis Mixed fleet程序的性能问题Granular traffic switch Instance-levelgranularityMixed fleet人员/流程的错误Automation: Use CloudFormation with Elastic Beanstalk, OpsWork, third party 基础架构失效Automation framework Auto Scaling, ELB Auto Scaling, ELB 回滚的能力DNS ELB ELB 成本管理Gradual scaling Gradual scaling Some over-provisioning部署的复杂性Simple,DNS weightsAuto Scaling control Scale-in adjustments。
亚马逊利用AWSVPC和IAM服务搭建高度安全的云环境
亚马逊利用AWSVPC和IAM服务搭建高度安全的云环境在“CSDN线下沙龙广州站——亚马逊AWS云计算研讨会之云中的安全部署与开发运维”中,邓明轩亚马逊AWS解决方案架构师,分享如何利用AWS云平台提供的一系列工具,如VPC虚拟专用网络、联合身份验证IAM 等服务,设计、实施和管理一个高度安全的云端环境,保障应用系统在一个安全可控的环境中稳定运行。
观众将会了解到使用AWS的VPC和IAM服务的一系列最佳实践方法。
DamonDeng邓明轩AWS高级解决方案架构师在“CSDN线下沙龙广州站——亚马逊AWS云计算研讨会之云中的安全部署与开发运维”中,邓明轩亚马逊AWS解决方案架构师,分享如何利用AWS云平台提供的一系列工具,如VPC虚拟专用网络、联合身份验证IAM 等服务,设计、实施和管理一个高度安全的云端环境,保障应用系统在一个安全可控的环境中稳定运行。
观众将会了解到使用AWS的VPC和IAM服务的一系列最佳实践方法。
AWS全球基础设施11区域(Region)30可用区(AZ)53边缘站点在“CSDN线下沙龙广州站——亚马逊AWS云计算研讨会之云中的安全部署与开发运维”中,邓明轩亚马逊AWS解决方案架构师,分享如何利用AWS云平台提供的一系列工具,如VPC虚拟专用网络、联合身份验证IAM 等服务,设计、实施和管理一个高度安全的云端环境,保障应用系统在一个安全可控的环境中稳定运行。
观众将会了解到使用AWS的VPC和IAM服务的一系列最佳实践方法。
基础设施级别的高可用架构AvailabilityZone可用区_每个region区域至少有两个可用区_每个可用区都由多个数据中心组成_可用区之间地理与网络都是独立设计与运营_可用区直接网络延时保持在3m以下_可用区内延迟保持在0.5m以下在“CSDN线下沙龙广州站——亚马逊AWS云计算研讨会之云中的安全部署与开发运维”中,邓明轩亚马逊AWS解决方案架构师,分享如何利用AWS云平台提供的一系列工具,如VPC虚拟专用网络、联合身份验证IAM 等服务,设计、实施和管理一个高度安全的云端环境,保障应用系统在一个安全可控的环境中稳定运行。
亚马逊 新创公司用AWS搭建高扩展性架构
ElastiCache RDS DB node 1 instance
RDS DB standby
Availability Zone A
数据层高可用
Amazon CloudFront Elastic Load Balancing
Amazon Route 53 DNS service
AWS平台上的新创企业
AWS何帮助创业公司?
• • • • • • • 敏捷、快速、灵活 低启动成本,随用随付费 不再需要猜测容量 集中精力创新 摆脱无差异化的体力活 数分钟就可全球化部署 IT整体成本降低
在AWS构建系统的原则
• • • • • • • 设计时考虑任何系统都会失效 松耦合和无状态设计 设计可扩展性和自动缩放 安全贯穿设计始终体现在每层中 不要过多担心约束和失败 多考虑平行分布式处理 充分使用各种不同的服务
• 优化连接
– 优化连接路径 – 重复使用连接 – 对于不能缓存的内容也有帮助
CloudFront
CloudFront 用于静态和动态内容
css/* js/* Images/*
S3 bucket Static content
Amazon Route 53
CloudFront distribution Default(*) EC2 instance(s) Dynamic content
RDS database
Amazon ElastiCache: 内存中的缓存 • 部署简单 • 完全托管
– 自动替换失效的节点 – 负责升级补丁管理
• 好的弹性扩展 • 兼容性
ElastiCache
第3天 –– 客户上线
高可用性
Amazon CloudFront
AWS亚马逊 成功案例分析—Kick9
AWS案例研究:Kick9关于Kick9Kick9成立于2014年,是一家专注于手机游戏全球发行服务的创业公司。
公司核心成员分别来自DeNA、EA、动视暴雪、万代、腾讯等著名游戏厂商及游戏发行商,对游戏的研发、发行及运营有着深刻的理解和丰富的实战经验。
公司成立一年多来,Kick9成功地在北美推出了由中国游戏开发商开发的《NBA ALL NET》和《Soul Hunters》两款游戏,均登上Appstore美国区Top10畅销榜。
面临的挑战Kick9的目标是要做全球化的游戏发行与推广服务,为全球用户提供优质的游戏体验。
为实现这一目标,Kick9计划建立独特的手机游戏发行服务平台(Distribution as a Service,以下简称DaaS),所提供的服务包括游戏的打包与分发、用户获取、数据分析、营运工具和增值服务等,这一系统将为国内外游戏开发团队提供一整套的游戏发行服务解决方案。
然而作为一家创业型公司,Kick9缺少自己运营数据中心的经验,传统的IDC托管服务器的方式对Kick9来说也是困难重重,因为Kick9从成立之初就立志服务于全球用户,在海外数据中心(简称IDC)托管服务器带来的管理和运维成本是Kick9难以承受的。
同时,对创业公司来说,业务发展对底层架构有着非常严格与紧迫的要求,因此,选择一家服务范围覆盖全球的云服务平台自然成为Kick9的首选方案。
为什么选择AWSKick9在选择云服务平台时主要考虑的因素包括云服务商的品牌、是否能提供全球化覆盖的服务、云服务的稳定性、灵活性、可靠性及安全性等。
“从业务角度考虑,我们最关键的需求是能提供覆盖全球的服务;从技术角度考虑,最关键的要求是云服务的稳定性和可靠性。
”Kick9运维总监潘晓华说。
全球覆盖Kick9的手机游戏发行服务平台(DaaS)是为全球手游开发商服务的,目前主要针对北美和东南亚市场,因此,选择一家能提供全球化服务的云服务商是Kick9的基本要求。
亚马逊 AWS推出专业级解决方案架构师认证
亚马逊AWS推出专业级解决方案架构师认证完成Amazon EC2实例的初始化几分钟就够了,那么证明您的AWS架构专业能力需要用多长时间呢?AWS专业级解决方案架构师认证新鲜出炉!2013年4月,AWS正式启动了AWS认证项目,同时公布了AWS首个专业技能考试:AWS 助理级解决方案架构师认证。
此后,我们又针对开发人员和系统运维管理员相继推出了另外两个助理级别考试。
今天,我们很高兴的推出首个专业级的认证考试–AWS专业级解决方案架构师认证。
AWS专业级解决方案架构师认证能够检验应试者在AWS云平台上的高级技术技能和相关工作经验,这些技能和经验专注在分布式应用设计和分布式系统架构方面。
该考试的目的是甄选出那些经验丰富、能够解决专业的、复杂问题的从业人员。
该考试向已经获得了助理级解决方案架构师认证的AWS用户、合作伙伴和员工开放,这是AWS解决方案架构师认证体系发展的最新进展。
为什么要获得AWS认证?随着对云计算技能和AWS专业知识需求的增长,用户们渴望在AWS平台上设计和实施IT 基础架构时能得到富有经验的、胜任的技术专家的协助。
AWS认证可以帮助用户识别合格的、有能力熟练运用AWS云平台的候选人,他们有能力协助用户在AWS云平台上设计、以及实施各种系统。
同时,认证也能帮助IT专业人员获得在专业技能上的肯定以及更好的职业发展。
哪些人员能够参加考试?考生必须首先获得助理级解决方案架构师认证。
除此之外,考生还应具备多年在AWS平台上设计、部署可扩展的、高可用的、容错的以及可靠的云架构的实践经验。
考生应有能力评估云端应用的需求,并能够为在AWS平台上实施、部署和预配应用提供架构级别的建议。
我们提供考前学习的相关培训吗?Architectingon AWS–高级概念是一门合适的考前培训课程。
亚马逊AWS 全球多人在线游戏架构实践
http://bit.ly/superdata-latencyAWS的全球基础设施US-WEST (Oregon)ASIA PACIFIC(Tokyo)US-WEST (N. California)SOUTH AMERICA(Sao Paulo)US-EAST (N. Virginia)AWS GOVCLOUD (US)ASIA PACIFIC(Sydney)ASIA PACIFIC(Singapore)CHINA (Beijing)EU (Frankfurt)在本地运行你的Game Server100+ms100+ms100+ms 100+ms东京俄勒冈法兰克福VPC SubnetVPC Subnet可用区A可用区BVPC SubnetVPC SubnetAuto ScalinggroupWEB VPC SubnetWEBJOBS区域①通过HTTP API 登录②下载游戏资产③游戏服务器分配EC2EC2EC2区域①通过HTTP API 登陆②下载游戏资产③游戏服务器分配④战斗开始⑤游戏结束EC2EC2Region EC2EC2①通过HTTP API 登陆②下载游戏资产③游戏服务器分配④战斗开始⑤游戏结束⑥通过HTTP API 回写数据VPC Private SubnetVPC Public Subnet可用区A可用区BVPC Public SubnetVPC Private Subnet GAME GAME GAME GAME GAME GAMEhttp://bit.ly/ec2-enhanced-nethttp://bit.ly/linux-tuning选择合适的实例类型Intel®Xeon®处理器核数, 内存大小, 存储容量和类型, 网络性能, & CPU 技术.•多快好省Intel®Xeon®v3 •Haswell microarchitecture•P state and C state control•Intel®AVX–对HPC负载如生命科技工程,数据挖掘,财务分析和其他计算应用优化. AVX 还可以改善图片、视频和音频的处理.•Intel®AES-NI–通过新的加密指令加强安全,减少加解密时的性能损失.•Intel®Turbo Boost Technology–使用Intel®Turbo Boost Technology 2.0来在面对负载峰值时获得更多处理能力TCP 5672rabbitmq-node1rabbitmq-node2TCP 4369& 2567210.1.0.1310.2.0.16VPC Private Subnet VPC Private Subnet 可用区A可用区Bhttps:///ha.html5672rabbitmq-node1 rabbitmq-node2VPC Private SubnetVPC Public Subnet可用区A Availability Zone BVPC Public SubnetVPC Private Subnet GAME GAME GAME GAME GAME GAMEAuto Scaling groupVPC Private SubnetVPC Public SubnetAvailability Zone A GAME GAME GAME Auto Scaling groupUnrealServer unreal_linux.template.jsontruemy-bucket-nameUnreal-123.zipsshkeyname1.2.3.4/24MyPass123东京俄勒冈法兰克福??VPC Subnet可用区A可用区BVPC SubnetAuto ScalinggroupWEB WEB俄勒冈东京VPC SubnetJOBSVPC Private Subnet VPC Public Subnet可用区AS3 Bucket Amazon CloudWatch LogsGAME GAME GAMEVPC Private Subnet VPC Public Subnet可用区A AmazonKinesisS3 BucketAmazon RedshiftGAME GAME GAME解耦的Game servers –低延迟l!Mini Pods 遍布全球!通过微服务的API 聚合数据到全球的排行榜在AWS BJS 建立Game PodUSChinaAuthLeaderboard中国俄勒冈法兰克福Auth中国排行榜+提供了运营货币化在线游戏的工具一整套基于云计算的后台服务预先集成第三方工具的生态环境.. 等等+AWS cloud: PlayFab Web Services Hardware Hardware Amazon Route 53()Amazon EC2(APIhandling)Matchmaker Instance Instance Game Server MonitorDynamoDB Amazon RDS Amazon S3Elastic Load Balancing Amazon RedshiftReportsservice InstanceLogsMatchmaker (Secondary)Instance US EUSA AUSAmazon EC2 Game ServersAmazon EC2 Game Servers Amazon EC2Game ServersAmazon EC2 Game ServersAPI 请求:来自Web Services 的响应:Game ClientAmazon Route 53() API 请求:Elastic LoadBalancingLogsbucket serviceLogsInstanceAWS wildcard DNS(*)事件日志:Instance HealthCheck Auto Scaling group Auto Scaling service InstanceMatchmaker (Primary)Instance Elastic LoadBalancing Matchmaker (Secondary) 1.Auto Scaling 设置为保持至少两个实例2.Elastic Beanstalk 健康检查将中止坏的实例3.Amazon Route 53 将故障服务器的流量转移到第二个服务器4.Auto Scaling 检测故障并启。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
http://bit.ly/superdata-latency
AWS
的全球基础设施
US-WEST (Oregon)
ASIA PACIFIC
(Tokyo)
US-WEST (N. California)
SOUTH AMERICA
(Sao Paulo)
US-EAST (N. Virginia)
AWS GOVCLOUD (US)
ASIA PACIFIC
(Sydney)
ASIA PACIFIC
(Singapore)
CHINA (Beijing)
EU (Frankfurt)
在本地运行你的Game Server
100+ms100+ms
100+ms 100+ms
东京
俄勒冈
法兰克福
VPC Subnet
VPC Subnet
可用区A可用区B
VPC Subnet
VPC Subnet
Auto Scaling
group
WEB VPC Subnet
WEB
JOBS
区域①通过HTTP API 登录
②下载游戏资产
③游戏服务器分配
EC2
EC2
EC2
区域①
通过HTTP API 登陆②
下载游戏资产③
游戏服务器分配④
战斗开始⑤游戏结束
EC2EC2
Region EC2
EC2
①
通过HTTP API 登陆②
下载游戏资产③
游戏服务器分配④
战斗开始⑤
游戏结束⑥通过HTTP API 回写数据
VPC Private Subnet
VPC Public Subnet
可用区A可用区B
VPC Public Subnet
VPC Private Subnet GAME GAME GAME GAME GAME GAME
http://bit.ly/ec2-enhanced-net
http://bit.ly/linux-tuning
选择合适的实例类型
Intel®Xeon®处理器
核数, 内存大小, 存储容量和类型, 网络性能, & CPU 技术.
•多快好省
Intel®Xeon®v3 •Haswell microarchitecture
•P state and C state control
•Intel®AVX–对HPC负载如生命科技工程,数据挖掘,财务分析和其他计算应用优化. AVX 还可以改善图片、视频和音频的处理.
•Intel®AES-NI–通过新的加密指令加强安全,减少
加解密时的性能损失.
•Intel®Turbo Boost Technology–使用Intel®Turbo Boost Technology 2.0来在面对负载峰值时获得更多
处理能力
TCP 5672
rabbitmq-node1rabbitmq-node2
TCP 4369
& 25672
10.1.0.1310.2.0.16
VPC Private Subnet VPC Private Subnet 可用区A可用区B
https:///ha.html
5672
rabbitmq-node1 rabbitmq-node2
VPC Private Subnet
VPC Public Subnet
可用区A Availability Zone B
VPC Public Subnet
VPC Private Subnet GAME GAME GAME GAME GAME GAME
Auto Scaling group
VPC Private Subnet
VPC Public Subnet
Availability Zone A GAME GAME GAME Auto Scaling group
UnrealServer unreal_linux.template.json
true
my-bucket-name
Unreal-123.zip
sshkeyname
1.2.3.4/24
MyPass123
东京
俄勒冈
法兰克福
?
?
VPC Subnet
可用区A可用区B
VPC Subnet
Auto Scaling
group
WEB WEB
俄勒冈
东京
VPC Subnet
JOBS
VPC Private Subnet VPC Public Subnet
可用区A
S3 Bucket Amazon CloudWatch Logs
GAME GAME GAME
VPC Private Subnet VPC Public Subnet
可用区A Amazon
Kinesis
S3 Bucket
Amazon Redshift
GAME GAME GAME
解耦的Game servers –低延迟
l!
Mini Pods 遍布全球!通过微服务的API 聚
合数据到全球的排行榜
在AWS BJS 建立Game Pod
US
China
Auth
Leader
board
中国
俄勒冈
法兰克福
Auth
中国
排行榜
+
提供了运营货币化在线游
戏的工具一整套基于云计算
的后台服务
预先集成第三方工具
的生态环境
.. 等等+
AWS cloud: PlayFab Web Services Hardware Hardware Amazon Route 53
()
Amazon EC2
(API
handling)Matchmaker Instance Instance Game Server Monitor
DynamoDB Amazon RDS Amazon S3Elastic Load Balancing Amazon Redshift
Reports
service Instance
Logs
Matchmaker (Secondary)Instance US EU
SA AUS
Amazon EC2 Game Servers
Amazon EC2 Game Servers Amazon EC2
Game Servers
Amazon EC2 Game Servers
API 请求:来自Web Services 的响应:
Game Client
Amazon Route 53
() API 请求:Elastic Load
Balancing
Logs
bucket service
Logs
Instance
AWS wildcard DNS
(*)
事件日志:
Instance Health
Check Auto Scaling group Auto Scaling service Instance
Matchmaker (Primary)Instance Elastic Load
Balancing Matchmaker (Secondary) 1.Auto Scaling 设置为保持至少两个实例2.Elastic Beanstalk 健康检查将中止坏的实例
3.Amazon Route 53 将故障
服务器的流量转移到第二个服务器
4.Auto Scaling 检测故障并启。