AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

在线游戏为何青睐云计算?揭秘手游云计算架构部署

  • 2013-10-23
  • 本文字数:1488 字

    阅读完需:约 5 分钟

在线游戏(主要指手游和页游)具有鲜明的行业特点。首先,游戏开发门槛较低,导致游戏数量急剧增长,玩家忠诚度迅速降低,稳定可靠的游戏服务能力成为游戏开发与运营商的立身之本。其次,大多数游戏厂商独立运维的实力较小,随着业务的井喷式发展,对动态快速扩展硬件资源的需求与日俱增。第三,对于相对热门的游戏而言,一般都拥有海量玩家,亟需高并发、高负载的应对措施与方案。第四,游戏开发技术发展迅速,硬件日新月异,游戏画质与可玩性明显改善,低响应延迟是游戏体验的基本需求。最后,同业竞争激烈,安全成为游戏,尤其是热门游戏的命门。

在这种背景下,在线游戏行业面临三个主要挑战:1)需要 IT 系统提供稳定、安全、可靠的游戏服务能力,保证业务的高可用性;2)需要灵活、高可扩展性的游戏架构设计,适应业务发展的突发峰值访问;3)海量用户高并发场景下的低延迟响应要求,以提供流畅的游戏体验。

应对好这三个挑战,将为游戏厂商的成功提供坚实的基础与支撑。本文将从手游的角度讨论合理的在线游戏后端平台架构,并将引入手游行业的知名游戏大掌门应用云计算的架构,帮助优化已有的系统部署。

手游传统架构与云计算架构对比

传统手游架构

在传统手游构设计中,有几个可以改进的地方。游戏运行服务中,应用部署在固定的服务器上,当业务迅速变化时,无法及时动态调整资源来满足;单台云服务器上部署了游戏应用的多个模块,不符合松耦合的部署原则,且容易造成 IO 争抢,影响读写性能;在玩家游戏的高峰时段,游戏更新服务容易因数据分发延迟,形成瓶颈,影响用户体验;游戏更新服务中存在单点配置,一旦其中的一台服务器宕机,可能导致玩家无法更新而不能继续游戏;对架构全局缺少专门的监控与报警机制,存在安全隐患。

大掌门游戏架构图

与传统系统部署架构相比,大掌门应用云计算的架构有以下特点:

  1. 实现应用的松耦合,将 Web/ 应用服务器与缓存、数据库服务等模块解耦,并物理隔离部署,这样能够实现功能模块的水平扩展,同时也避免了云服务器上 IO 争抢带来的性能降低问题。如上图所示,Web Server、Cache Server 及 DB Server 均各自分层,Web Server 组成一个集群,通过负载均衡 SLB 对外提供服务。当业务量迅速变化时,可以通过 API 自动动态向上或向下扩展集群中的云服务器数目。DB Server 搭建主备集群,并定期冷备数据到本地或 OSS 存储。用户也可不必自己搭建缓存和数据库服务,而直接采用阿里云 OCS 和 RDS,这样可以简化系统架构、降低运维成本,并有更高的可靠性。
  2. 在关键路径上,部署主备集群,通过负载均衡服务 SLB 分发并对外提供服务,避免单点故障带来的游戏不可用。游戏更新和运行服务均体现了这一点。
  3. 游戏更新服务可基于阿里云 CDN 提供静态文件分发的低延迟,若游戏中有大量临时文件,包括地图、静态数据分发等,也可以考虑通过 CDN 来保证游戏体验。
  4. 在应用部署的云服务器上,免费开通云盾及云监控,保障游戏不受恶意攻击及病毒、木马等入侵,为游戏稳定运行提供保障。

综上所述,面对游戏行业特点与挑战,基于云服务的架构部署方式完全可以解决传统架构存在的问题与隐患。阿里云的云服务器、RDS 等产品的高可扩展性能力帮助用户实现动态资源配置,以应对业务的剧烈变化;负载均衡帮助用户应对高峰流量、单点故障,提升业务稳定性;云盾、云监控帮助用户保护网络与数据安全,抵御恶性竞争的攻击;多线 BGP 网络、CDN 帮助用户在海量、高并发场景下维持业务的快速响应。

基于以上的优势,做游戏就用云计算开始成为行业标配,比如大掌门、疯狂猜图、小浣熊、游易网络、跃兔、边锋等都是云计算的受益者,他们也将在 2013 阿里云开发者大会上详细展示如何完成“云中游戏”的。

2013-10-23 10:111914
用户头像

发布了 1517 篇内容, 共 691.5 次阅读, 收获喜欢 2507 次。

关注

评论

发布
暂无评论
发现更多内容

基于java的连连看游戏设计

Java 程序员 后端

【死磕 Java 基础】 — 谈谈那个写时拷贝技术(copy-on-write)

chenssy

11月日更 死磕 Java 死磕 Java 基础

哪有什么中年危机,不过是把定目标当成了有计划

Java 程序员 后端

哭了,我居然回答不出来女同事的问题:索引为什么能提供查询性能---

Java 程序员 后端

基于 ElasticSearch 实现站内全文搜索

Java 程序员 后端

四、StringRedisTemplate 和RedisTemlate有什么不同

Java 程序员 后端

推荐你一个正则表达式网站

卢卡多多

正则表达式 11月日更

基于二叉树实现Map,就是这么优秀!

Java 程序员 后端

工作五年之后,对技术和业务的思考

程序员 技术 职场 互联网人 业务

基于 ElasticSearch 实现站内全文搜索(1)

Java 程序员 后端

基于java SSM springboot学生信息管理系统设计和实现2

Java 程序员 后端

日均订单量超1500,百度萝卜快跑甩掉Waymo

脑极体

听我讲完GET、POST原理,面试官给我倒了杯卡布奇诺

Java 程序员 后端

数据服务基础能力之元数据管理

数据分析 数据 元数据 数据管理 业务数据

喝了杯咖啡,我突然对MySQL锁、事务、MVCC-有了新的认识!

Java 程序员 后端

基于java+jsp的汽车租赁系统

Java 程序员 后端

基于Java和Bytemd用120行代码实现一个桌面版Markdown编辑器

Java 程序员 后端

基于JSP实现学校社团管理系统

Java 程序员 后端

万文讲解知乎实时数仓架构演进

大数据老哥

国庆临近,字节后端开发3+4面,终于拿到秋招第一个offer

Java 程序员 后端

基于vue+SpringBoot+MyBatis的开源多商户商城系统,可二次开发

Java 程序员 后端

基于SSM的药店管理系统

Java 程序员 后端

如何基于 React Native 快速实现一个视频通话应用

声网

flutter 人工智能「

因为一次 Kafka 宕机,我明白了 Kafka 高可用原理!

Java 程序员 后端

基于iscsi存储的kvm动态迁移(V2V)

Java 程序员 后端

基于JSP实现OA办公系统

Java 程序员 后端

基于java SSM springboot学生信息管理系统设计和实现2(1)

Java 程序员 后端

基于NFS存储建立WEB群(PCS工具)

Java 程序员 后端

基于SSM开发实现中药制剂网站系统

Java 程序员 后端

图像处理网站

Java 程序员 后端

基于java SSM图书管理系统简单版设计和实现

Java 程序员 后端

在线游戏为何青睐云计算?揭秘手游云计算架构部署_语言 & 开发_InfoQ 中文站_InfoQ精选文章