阿里云系统架构(阿里巴巴系统架构)
本文目录一览:
- 1、阿里云架构师解读四大主流游戏架构
- 2、什么叫阿里云系统
- 3、阿里云发布第三代神龙架构 性能提升5倍
- 4、阿里云架构设计与腾讯云架构设计的有何区别
- 5、阿里云企业级互联网架构实践系列-EDAS 开发(续)
阿里云架构师解读四大主流游戏架构
游戏 行业是阿里云最早聚焦的行业之一,近年来 游戏 行业的变化、云计算产品技术的变化都与日俱进。随着行业业务的变化、技术架构的演进以及阿里云产品的迭代演进,整体的产品技术选型在不同的 游戏 场景、业务场景也不尽相同。本文将聚焦阿里云弹性计算产品在 游戏 行业的方案实践经验。
当前, 游戏 行业的各种场景和行业发展密不可分。简单回顾电子 游戏 的发展,80年代的黑白机,90年代的PC单机 游戏 ,00年代前夕随着互联网的发展网络 游戏 开始盛行,2010年后随着移动设备的逐渐普及,手游在国内开始兴起。
从 游戏 终端来区别,主要有:主机 游戏 (往往是3A 游戏 )、PC 游戏 、移动 游戏 和网页 游戏 等。目前出现跨平台多端 游戏 ,以及云 游戏 化的趋势。
关于 游戏 的品类区别会有非常多的维度:RPG(角色扮演)、MOBA类、竞技类、FPS(射击类)、休闲类、卡牌类、棋牌类、SLG(策略类)等等。目前有多品类融合玩法裂变的趋势。
随着国内防沉迷、版号因素,近年来 游戏 行业诞生了越来越多的精品 游戏 ,出海全球化乃至区域化,以及整体存量用户增速放缓,长线运营、精细运营以及私域社区等运营方式也在悄然变化。
不同的业务场景技术架构不尽相同,如竞技类 游戏 和卡牌类 游戏 对计算的需求就有所区别,云 游戏 与常规的网络 游戏 架构也有所区别。这里主要从 游戏 服和 游戏 平台、大数据、云 游戏 这四个目前常见的场景简单介绍其架构。
游戏 服,从 游戏 类型来看有RPG、FPS、MOBA、SLG、棋牌、休闲等等;从 游戏 平台来看通常有主机、手机、PC等;从业务发行来看有全球、国内、海外,从部署架构来看有集中部署和分区部署;从技术架构来看, 游戏 行业也有逐渐分层解耦的趋势,但与互联网应用相比,有一定其独特性。
因为 游戏 的强交互性特点, 游戏 技术架构与其他互联网应用相比有一定独特性。 游戏 需要保持会话连接,也就是从一个客户端到服务端的长连接,便于对客户端中玩家的操作、行为等进行及时的反馈以及推送给共同 游戏 或对战的其他玩家,所以 游戏 普遍对网络质量更加敏感,网络质量较差的情况会使长连接断开或重连,引起玩家掉线。 游戏 也需要保持会话的状态,既服务端会保持一份玩家的实体,当玩家进行操作时,下次通信的数据会依赖之前的通信的数据,这也是一些MMO(多人在线)大型 游戏 对网络吞吐性能要求较高的原因之一。再比如FPS、MOBA类等多人对战类 游戏 ,交互性更强,对网络延迟容忍度更低,要求低延迟。因为 游戏 需要比较高密度的记录玩家的操作以及结果,所以有频繁写入数据的特点,这类场景需要较强的IO性能。因为 游戏 强交互性、低延迟的特点,其技术架构也和互联网应用不同,在逐渐分层解耦的同时,需要保证 游戏 玩家的交互效果,同时也会依赖到底层服务器的计算能力。
这些都是 游戏 场景普遍存在的特点:长连接保持会话、保持状态、低延迟网络、高IO吞吐、高计算性能。
游戏 的部署架构会结合 游戏 业务特点、 游戏 运营需求来制定 游戏 服务,有分区分服、全区全服业务逻辑,分区分服还是全区全服,最大的架构差异在于数据是不是一套。而从部署方式看,主要是集中式部署和分区域部署。
集中部署就是不论 游戏 玩家在哪里, 游戏 服务集中在一个区域,适合对网络延迟要求通常不高的 游戏 类型,如休闲类;分区部署是指 游戏 服务器根据 游戏 玩家地域分布,分区域部署,方便就近接入,适合对网络延迟要求较高的 游戏 类型,如MOBA、FPS类。
典型架构
MMO类有高并发特点,大量玩家并发的高计算量负载对服务器的计算能力和稳定性有着极高的要求。同时MMO类 游戏 有着比较强的PVE或PVP特性,对网络延迟的容忍度较低。
其中网关服务器负责所有网络数据包的转发,通常是网络负载较集中的点,对于网络吞吐能力要求较高。单个 游戏 区承载玩家数量高,逻辑服务器通常按照场景地图来划分,规模再大会通过分区的方式实现。
数据中心服务器负责缓存玩家数据并异步入库,保障玩家客户快速获取和写入数据,对于可用性要求较高,需要配合应用层实现数据容错机制。
日志服务器承载了大区所有业务行为的日志收集及处理的压力,对磁盘写入性能要求较高,通常采用多台分组方式实现。
(1)MMO 游戏 服性能与稳定需求,建议使用最第7代ECS实例,根据实际需求选型c计算型(CPU与内存配比1:2)/g通用型(1:4)/r内存型(1:8),Intel Ice Lake 2.9GHz基频3.5GHz睿频提供超高性能,能更好地优化 游戏 体验。
(2)异步落库以及日志服务器,对于磁盘读写性能要求高的场景,建议云上使用ESSD PL 0/1/2/3根据业务性能需要选择,避免磁盘读写瓶颈。
(3)在 游戏 日常版本更新中,需要各个地域Region镜像的快速复制,基于ESSD快照异地复制的能力,能够提升镜像复制效率。
(4)分区分服等场景往往需要快速地开服滚服合服,通过CADT云速搭、ESS弹性伸缩、OOS运维编排、ROS资源编排等云上运维工具搭配产品使用,能够提升云上运维效率。
ii. FPS、MOBA类 游戏 架构介绍
MOBA类 游戏 主要包括PVP系统、PVE系统、 游戏 平台等几个主要部分,其中PVP战斗是MOBA/FPS 游戏 的核心。
PVP、PVE、 游戏 平台功能部署于同一VPC中,构成 游戏 大区;战斗服务器(往往)单独跨地域部署。
游戏 客户端首先接入到登录服务器中,完成登录认证、计费等 游戏 平台逻辑。为避免单点问题,所以 游戏 平台服务往往需要高可用方案。可利用云上高可用方案,包括便捷的运维工具满足业务高可用需求。
FPS/MOBA竞技 游戏 ,往往对延迟特别敏感,可以想象,竞技类 游戏 中对战的 游戏 场景:玩家操控人物,在地图里步伐飘逸,枪声密集,每一颗子弹都是一次时间加上空间的矢量计算,而且需要在主进程中完成计算,那么算力需求就随着房间玩家数量上升而指数爆炸,5V5的房间和大房间100人(吃鸡)对算力的需求完全不同。
游戏 这部分重算力场景,推荐阿里云7代高主频或七代实例,更高的单核性能提供更好的战斗效果。
战斗房间类 游戏 ,因为业务本身峰谷特性,灵活地使用云上资源的弹性能力,往往会较好地优化整体的资源使用成本。阿里云弹性计算本身提供了非常灵活的付费方式,包括常规的按量实例、包月包年实例、以及通过节省计划/预留实例券去抵扣按量实例资源,兼顾资源灵活使用的同时达到更优的成本。
此外,为更进一步释放开发运维的效率,当前一些 游戏 也采用了容器化技术架构,阿里云的ACK+ECS/ECI弹性容器实例组合搭配使用,更进一步释放了基础资源的灵活性和弹性能力。
业务场景
游戏 平台(不限于FPS、MOBA类)主要提供的服务:官网、客服、注册、登录、充值、兑换、商城、推送、公告、社区、SDK及邮件、短信等公共服务;包括内容审核、视频录制、弹幕、转码、剪辑、RTC这些业务需要的基础服务,以及运维监控、发布平台、测试平台这些运维等平台服务。
这部分更接近于通用的互联网技术架构,以服务为颗粒度解耦,接入-网关-应用-数据库。
技术特点
这往往通常需要构建高可用基础架构来提升稳定性,业务突发期往往需要一定的弹性能力。相比于 游戏 服务这部分容器化就更加普及,也更容易通过云上的比如弹性容器实例去应对流量峰值场景。在视频录制场景,对实时性要求较高时,往往会基于GPU能力构建,这部分阿里云也提供了vGPU/cGPU能力,释放GPU的灵活性。
大数据是当前 游戏 业务经营、 游戏 运营主要的技术手段,主要面向平台数据运营、 游戏 数据分析、广告转化分析、安全运营分析等 游戏 核心运营场景。不同的场景对实时性要求不同,实时查询检索通常是经营分析、客户受理、玩家监测、在线等场景;离线报表通常是玩家行为分析、用户画像、特征挖掘等场景。
总体而言,实时性业务更多是业务查询类、简单计算类任务,比如买量转化的分析;离线类基本是分析类、预测类任务,比如 游戏 玩法分析。
从技术架构来看,得益于开源社区技术栈的高丰富度,大数据具体的技术选择非常之多,整体从存算一体到存算分离,也诞生像数据仓库、数据湖乃至湖仓一体等概念。
从数据架构流程来看,从数据源-数据采集、传输-数据计算、存储-数据应用,其中可选看技术方案也需要因地制宜。
从部署架构来看,不同的 游戏 公司处在不同的数据建设阶段,会有不同的选择倾向,包括完全自建、基于云自建大数据、基于云上托管、以及利用更多云上成熟的产品技术去丰富整体的大数据能力集,而后者也成为越来越多客户的选择。
拿云上大数据方案举例来讲,比如实时计算部分,选择SLS采集、Kafka数据网关通道,通过Flink做数据计算,通过ES或CK做数据分析,通过ADB以及QuickBI做数据应用展示。离线方案通过OSS做冷数据存储,Spark、Hive、HDFS等组件做数据计算存储,通过CK汇聚分析,通过Dataworks做数据应用。
具体计算存储的产品选型,主要根据不同的业务特性以及大数据应用特性来区分,根据数据容量、IOPS、吞吐、读写特点以及性价比来选择。
如刚刚举例的实时计算/近实时计算场景,Flink具备高性能、低延迟特点,所以是计算密集、网络性能高场景,推荐选型七代ECS实例或6代增强实例;如HDFS需要超大存储容量,高吞吐,推荐D系列本地盘实例,如D2S存储型本地盘实例。Remote Shuffle Service等处理结果多的场景,读写处理频繁如大量的join计算,需要综合来看计算、网络、存储性能以及综合成本来选择通用实例(如第7代ECS实例)或i系列本地盘实例。所以,最终在云上的资源选型,在性能满足的前期下,需要评估通过网络传输数据成本高(云盘),还是就地取材计算成本高(本地盘),不同模型、不同量级选择不同。
从内存处理(成本最高、性能最好、存储容量最小)、SSD本地盘、HDD本地盘、ESSD云盘、OSS对象存储(成本最优、性能一般、存储容量最大),逐渐分层解耦,还带来一个好处:充分释放了云上弹性的能力,可以利用更轻巧的弹性计算产品(如SPOT抢占式实例方式,或ECI容器实例)进行大数据计算,达到更好的弹性能力去满足业务需求的同时也能节约更多的成本。
云 游戏 主要分终端和云端。终端部分基于Windows、iOS、Linux等操作系统的终端设备包括手机、平板、电脑、电视机、VR一体机等。云端架构主要是 游戏 应用层、云 游戏 平台层、IaaS基础资源层,应用层包括PC 游戏 、手游、VR 游戏 、H5 游戏 等多种类型的 游戏 应用;平台层云 游戏 必须的运营平台、支撑平台、流化技术平台等;IaaS基础资源层包括基础网络、基于X86架构以及ARM架构的GPU服务器。
云 游戏 落地,在技术上也经历了诸多挑战,为满足端到端高性能低时延,网络调度、指令串流、编解码、多终端的SDK适配等等都是云 游戏 场景中不可避免的技术问题。
对于云端算力来讲,阿里云解决了云端渲染、串流以及编解码问题,并通过全系列GPU产品来满足云手游、端游、VR乃至企业级视觉渲染场景的需求。
总结来讲,阿里云弹性计算通过云上的串流、编码加速、渲染加速等全套的技术帮助 游戏 客户给云 游戏 玩家提供更好的性能体验,通过基于阿里云全球数据中心可以帮助云 游戏 客户覆盖更多的用户,通过GPU多种产品形态和整体的弹性能力,也帮助到 游戏 客户去更快捷更灵活的构建其云 游戏 业务。
阿里云通过多年的技术积累和持续的运营,提供了大规模的基础设施云服务,目前在全球部署了26个地域、82个可用区,通过优异稳定的性能表现帮助 游戏 客户高效稳定地运行 游戏 业务,为玩家提供极致顺滑的 游戏 体验,并通过技术手段不断地帮助 游戏 客户优化用云成本。
国内的业务出海、 游戏 出海也是现阶段大的趋势之一,很多 游戏 公司已经把出海从业务可选项变成了必选项之一。在2022年3月,阿里云上线了韩国和泰国两大Region,能够为本地化的 游戏 业务提供更流畅、更稳定的 游戏 体验,以此希望能在 游戏 客户出海的业务领域,提供更多的帮助。
当然,作为内容与 科技 两大热门领域的交叉领域, 游戏 产业日新月异,架构也随着前端业务的需要不断改变。阿里云弹性计算也针对 游戏 厂商的不同架构,陆续推出了不同的云服务器类型和付费方式,以及云上运维套件,以帮助客户降本增效。
原文链接:
什么叫阿里云系统
你好朋友;
;阿里云os目录
简介;
相关功能;
阿里云智能手机;阿里云手机;
天语大黄蜂;
展开;简介;
相关功能;
阿里云智能手机;阿里云手机;
天语大黄蜂;
展开;;简介
阿里云OS是融云数据存储;云计算服务和云操作系统为一体的新一代操作系统;系统搭载了阿里云公司自主设计;架构;研发的系统核心虚拟机;增强了云端服务的能力;并提供与Dalvik虚拟机兼容的运行环境;通过海量云空间来同步和管理手机数据;数据可永久保存在云端并联通所有设备;基于云端弹性云计算的托管服务;便于开发者快速开发和部署移动应用;通过云应用平台;成千上万的互联网产品和服务可轻松转化为手机云应用;无需下载;更新和安装即可使用;真正将互联网搬入手机;[1];7月25日消息;阿里巴巴将于本周正式发布云智能手机操作系统;命名为阿里云OS;据腾讯科技获悉;包括聚划算;淘宝比价等多个阿里集团内部开发成型的手机应用;已入驻该系统平台中;这款即将发布的手机操作系统与其它手机操作系统不同的是;阿里云OS采用Cloud;App方式;使用户不需要在手机端下载应用;而只在网络环境下;登陆统一的云账号后;只要手机流量足够;即可运行OS平台上的各种应用;
;相关功能
据体验者称;阿里云OS的开机画面将呈现一个用户注册云账号的提醒界面;该账号为一个统一的登录系统;起到PC端及各种移动终端的数据同步作用;值得注意的是;用户要使用平台上的应用必须登陆云账号;;在应用方面;阿里云OS不仅集成了阿里云自主研发的通讯录;短信;日历农历;输入法;搜索;邮件等基础应用;也携带有阿里巴巴集团自有开发的消费级应用;如淘宝聚划算;淘宝比价;淘女郎等;此外;Android;Market的手机应用也能在该平台中使用;未来;阿里云OS还会对第三方开发者提供应用接口;;1:创新的Cloud;APP概念;无需安装的云端应用程序;;2:国内首款云概念手机;丰富云应用;;3:阿里巴巴服务一站式体验;;4:兼容Android应用;;阿里云OS基本功能符合中国人使用习惯;让你使用起来更加得心应手;
;阿里云智能手机
阿里云OS的云智能手机计划与天语合作运营;并得到了阿里巴巴集团其它子公司如淘宝等多项运营资源支持;随着阿里云OS发布期的临近;阿里云与天语的定制手机也将面向市场;随着型号为W700;W800的阿里云手机上市;随心换壳;云端存储数据不怕丢失;2012年4月阿里云第二款智能手机大黄蜂W806和小黄蜂W619上市;大黄蜂凭借着高端配置低端价格赢得市场;;资料显示;采用云OS的智能手机能直接享用100GB云空间和阿里云提供的各种云服务(如地图;电子邮件等);还能使目前互联网上的海量Web服务通过阿里云的云计算数据中心方便接入手机终端;保持与本地应用一样的流畅用户体验;把智能手机直接推动至“云应用”时代;
阿里云手机
阿里巴巴集团旗下阿里云计算有限公司28日宣布;正式推出独立研发的阿里云操作系统(阿里云OS)以及搭载此系统的天语云智能手机W700;;如果说第一代阿里云手机推出的时机还不够成熟;那么今天这款搭载阿里云OS;2012系统的天语W800在成熟度上又提升了一个台阶;
天语大黄蜂
天语W806外号大黄蜂;采用阿里云OS;2012系统;配有1GHz双核Tegra2处理器;4.3吋WVGA触控屏幕和Soft-Touch背壳设计;直接吸引着用户的眼球;;关注过MWC2012大展的朋友也许应该都能意识到;2012年将会是国产手机厂商的春天;在高端市场;像天语;华为;中兴;魅族等知名厂商都对外展示了自己的四核CPU旗舰级机型;这同时也向世界证明了国产手机近两年的飞速成长;另一方面;小米手机的出现也拉响了国产手机新一轮的价格战;人们为此更加看重一款产品的性价比;低价买高配机的趋势正在潜移默化的展开
阿里云发布第三代神龙架构 性能提升5倍
阿里云发布第三代自研神龙架构,贯穿整个IaaS计算平台,性能提升5倍。
虚拟化带来的是云计算上的一次革命,它最大的价值是给计算带来了弹性,但同时又带来了性能损耗的负担——如果不解决虚拟化损耗,云计算产业将很快碰到技术的天花板。
“十年自研积淀让阿里云有机会突破自我,找到进化的方向,”阿里云智能基础产品事业部总经理蒋江伟表示,从2017年发布第一代神龙架构开始,阿里云就独自研发解决方案,最终突破了虚拟化的性能束缚,激发服务器释放100%潜能,重构云计算的基础设施。
在历经软件虚拟化、通用硬件虚拟化、专用硬件芯片虚拟化三个阶段后,第三代神龙架构实现了裸金属服务器、ECS虚拟机等计算平台的架构统一,用户可获得高质量的弹性资源。
此外,阿里云还发布了基于神龙架构的第六代ECS实例,计算性能提升20%,内存延迟降低30%,ESSD云盘延时降低70%。更高的性能背后是更普惠的价格,基于新架构的各产品最高降价幅度达58%以上。
值得一提的是,神龙架构对云原生浪潮下容器等产品适配程度极高。通过I/O offload芯片加速,高效调度和自动化弹性伸缩的容器化产品可帮助用户降低50%的计算成本,性能比物理机更优越。
阿里巴巴丰富的应用场景让阿里云成为极少数同时具备研发及应用场景的闭环,一边研发一边应用,一边创造一边吃“狗粮”,这种双冲程式的方式构成了独特的能力。
“接下来,阿里云遍布全球的百万服务器将全面升级至第三代神龙架构,”蒋江伟透露,在阿里巴巴内部,神龙架构已大规模应用于淘宝、天猫、菜鸟等业务,解决高峰值的性能瓶颈问题。
阿里云架构设计与腾讯云架构设计的有何区别
这个问题很宽泛,阿里是自建的底层 有飞天系统
腾讯云基于kvm设计。
阿里云企业级互联网架构实践系列-EDAS 开发(续)
前提: 关闭windows 防火墙,可以ping 通 EDAS所在IP
修改配置:假设EDAS 轻量级配置中心IP 是 10.10.10.10
修改hosts 文件 添加配置如下:
10.10.10.10 jmenv.tbsite.net
添加jvm 参数:
-Dvipserver.server.port=8080
-Daddress.server.domain=10.10.10.10
-Daddress.server.port=8080
-Dvipserver.client.port=8080
-Dpandora.location=D:/hsf.sar.jar
如果本地有多个IP可以通过需要配置一下hosts 来指定注册的IP
先打开 cmd 输入hostname 命令 获取本机名称,假设是 computer1
假设需要使用的本地IP是 11.111.1.1(确保此IP和EDAS的网络之间是同的)
在hosts 文件中添加如下配置:
11.111.1.1 computer1
-Dpandora.location=D:/hsf.sar.jar
指定的是潘多拉地址
添加需要的配置项:
1. 找到 ConfigCenter类,添加配置中心需要的groupID和DataID
其中groupId:是项目的包名称,确保唯一,建议网上国网统一使用 com.sgcc.osg 作为groupID。dataID,用于标识单个配置项。
2. 找到EDASConfigContextRefresher 在 registerDiamondListenersForApplications方法中添加 addListener第一参数是 ConfigCenter.DATA_ID,第二个参数是ConfigCenter.GROUP_ID。
loadConfiguration(compositePropertySource, environment, ConfigCenter. DATA_ID , ConfigCenter. GROUP_ID );
loadConfiguration方法前两个参数固定, 后面是 之前在ConfigCenter中添加的DATA_ID, 和GROUP_ID。
在本地开发的时候,应用启动前需要先在轻量级配置中心。添加配置项。
点击添加:
[图片上传失败...(image-8cefb1-1597155336559)]
在弹出框中输入在本地ConfigCentre.java 中配置的 groupID, 和dataId输入进去。
content 里面可以添加任意键值对。
@RestController
@RefreshScope //需要 动态刷新必加
public class Demo{
@Value(“${key1}”)
private String key1;
@Value(“${key2}”)
private String key2;
}
配置项:如下图每一个groupid, dataId,和content 对应一个配置项
分发 轻量级配置中心的时候 通过 压缩文件分发,不要copy 解压后的文件夹
如果应用列表没有数据,不能说明应用无法注册到分布式服务总线,而是应用启动失败,或者EDAS鉴权配置有问题
l 检查应用启动日志,查看是否正常启动。
如果抛出其他异常导致无法启动需要联系业务同学确认。
l 如果没有报错需要确认EDAS_SERVICE_ID 环境变量是否过程, 不能超过36
如果分布式服务总线的 服务列表是空的,就说明这个微服务没有注册到分布式服务总线
l 应用正常启动后(通过启动日志判断,出现pandora started说明启动完成),
l 查看 /etc/resolv.conf 确保EDAS的nameserver 放在首位。
l 查看 /home/admin/logs/vipsrv-logs/vipclient.log 中
l 如果有 403 access denied. 说明是容器所在宿主机的时间没有同步。需要联系云操系统的同事进行时间同步。时间同步后重启容器就可以注册成功。
l 如果有 error code 500 需要检查dncs-server 服务是否正常。
l 登录edas 物理机
l docker ps|grep dncs-server
l docker exec -it docker_id bash
l cd /home/admin/bin
l 运行sh chekc_dncs.sh
l 如果 check_dncs.sh 运行异常说明dncs-server出现问题。
l 登录edas 物理机
l docker ps|grep dncs-server
l docker exec -it docker_id bash
l cd /home/admin/bin
l 运行sh chekc_dncs.sh
l 如果 check_dncs.sh 运行异常说明dncs-server出现问题
l 出现异常后可以进行 docker restart docker_id 重启dncs-server 容器,容器重启后大概需要3-7分钟启动dncs-server 的业务,可以使用/home/admin/bin/check_dncs.sh 检查是否启动完成
l 登录edas 物理机
l docker ps|grep dncs-server
l docker exec -it docker_id bash
l cd /home/admin/bin
l 运行sh chekc_dncs.sh
l 如果 check_dncs.sh 运行异常说明dncs-server出现问题
l dmesg |grep java
l 如果出现Out of memory: Kill process xxxx(java) 说明 dncs-server 进程由于OOM被linux 系统kill
l edas 鉴权体系的隔离不同账户之间不可能互相访问
l 不同集群使用不同的k8s集群做实现,不同k8s 集群的网络是不可以相通的
l 如果使用HSF协议,HSF协议内部兼容了服务的负载均衡
l 如果使用spring cloud 框架下的RESTful 协议,由spring cloud 的Ribbon组件提供负载均衡
l 如果使用spring cloud 框架下的RESTful 协议,由spring cloud 的Ribbon组件重试,可以在application.properties 中配置ribbon 的重试策略
由于edas应用的启动依赖于pandora 容器所有需要在Junit 测试类上面添加如下配置引入pandora 容器的启动:
发表评论
暂时没有评论,来抢沙发吧~