热点:

    华为云开年采购季游戏部署再加BUFF,助力游戏企业闯关升级

      [  品牌资讯   ]  

        前言

        随着游戏市场的火爆,游戏行业逐渐向精品化、IP化、多样化的格局迈进,这也对游戏开发者提出了更高的要求。如何保证游戏性能稳定,为玩家提供流畅的开黑体验?今天准备尝试用下华为云的服务,沉浸式感受游戏云端部署解决方案的强大。

        1、游戏架构介绍

        1.1服务器架构

        不同的公司有不同的游戏服务器架构,所以部署的具体细节大多不相同,但是基本的部署准备还是一样的,先看下我们的游戏架构,方便读者朋友了解后续的准备工作。

        1.1.1服务器角色具体介绍

        Client:游戏客户端。

        Gate:网关服,这里不承载游戏的链接,仅仅做游戏服务器的地址发放,玩家从gate服获取正式游戏服的ip和端口。

        Game:玩家主要在的游戏服务器只有一个。

        Room:房间服,玩家匹配进入战斗后将进入战斗服,如果战斗多可以做动态扩展。

        Gm:后台管理服务器,可以做活动的发布或者管理玩家数据。

        Redis:主要用来做缓存,避免数据库的频繁访问压力。

        Mysql:主要用来做数据的持久化。

        1.1.2玩家数据流

        玩家(client)通过http方式访问gate服务器,获取game服务的ip和端口。

        client通过拿到的ip和端口直连game服务器,这样玩家就登录进了服务器。

        当玩家操作角色进行匹配战斗的时候,匹配成功后会将需要的数据传入room服务器,所有的战斗指令也会被传入room服务。

        当玩家需要查询数据时,比如想获得背包,game服会先像redis查询,如果数据不存在,则像mysql查询,查询到数据后会存入缓存。

        当玩家角色数据发生变化时,比如获得了新的道具,这个时候需要操作数据库,game服务器会先更新数据库然后更新缓存。

        当发布活动和修改玩家数据的时候使用gm,通过发布指令到game服。

        1.1.3服务间交互协议

        http协议:主要发生在访问场景比较少的地方,client和gate,game和Gm之间。

        dubbo协议:主要使用在内部服务器之间交互数据,简单直接,像操作本地方法一样。

        Webscoket:主要用在client和game之间,因为这是一个网页游戏的服务器,所以使用了websocket。

        1.2部署方式

        这里使用docker的方式,原因有几点:

        标准化应用发布,避免环境带来的问题。

        节约时间,方便快速部署和启动。

        团队同学比较熟悉,降低犯错的可能性。

        2、部署准备

        2.1环境准备

        2.1.1机器准备

        对服务器的配置做了一个表统计,准备好服务器就好,下表是参考华为云官网。

        注:具体价格实际以官网价为准

        2.1.2解决方案构成

        ·弹性云服务器ECS:是一种云上可随时自助获取、可弹性伸缩的计算服务,帮助打造安全、可靠、灵活、高效的应用环境。

        ·弹性负载均衡ELB:将访问流量自动分发到多台云服务器,扩展应用系统对外的服务能力,实现更高水平的应用容错。

        ·云数据库RDSfor MySQL:拥有即开即用、稳定可靠、安全运行、弹性伸缩、轻松管理、经济实用等特点,让客户更加专注业务发展。

        ·分布式缓存服务Redis版:业界首个支持Arm和x86双架构的Redis云服务,支持双机热备的HA架构,提供单机、主备、Proxy集群、Cluster集群、读写分离实例类型,满足高读写性能场景及弹性变配的业务需求。

        ·云日志服务LTS:提供一站式日志采集、秒级搜索、海量存储、结构化处理、转储和可视化图表等功能,满足应用运维、网络日志可视化分析、等保合规和运营分析等应用场景。

        ·DDoS防护AAD:提供全球化服务,以应对DDoS攻击挑战,可提供毫秒级攻击响应、多维度行为分析及机器学习、防御策略自动调优、精确识别各种复杂DDoS攻击,以保护您的业务连续性。

        ·弹性公网IPEIP:弹性公网IP(ElasticIP)提供独立的公网IP资源,包括公网IP地址与公网出口带宽服务。可以与弹性云服务器、裸金属服务器、虚拟IP、弹性负载均衡、NAT网关等资源灵活地绑定及解绑,提供访问公网和被公网访问能力。拥有多种灵活的计费方式,满足不同业务场景诉求

        ·文档数据库服务DDS:文档数据库DDS兼容MongoDB协议,在华为云高性能、高可用、高安全、可弹性伸缩的基础上,提供了一键部署,弹性扩容,容灾,备份,恢复,监控等服务能力。目前支持分片集群(Sharding)、副本集(ReplicaSet)和单节点(Single)三种部署架构。

        2.2镜像准备

        镜像的准备打包推送到私有仓库,具体的方法可以使用一些插件,也可以使用Jenkins,或者手动推送,无论哪种方式,这里准备下可能需要用到的手动命令。

        2.2.1安装docker服务

        2.2.2打包镜像

        将jar包拷贝到和dockerfile相同目录下,执行下面命令,打包镜像。

        2.2.3将镜像打包为本地文件

        镜像导出为压缩包,方便传输。

        2.2.4解包镜像

        登录到服务器之后,将上面的文件拷贝到本机,使用下面的命令将镜像导入到当前机器;

        2.3部署脚本

        注:上述是开发环境,环境变量有些是默认,在正式环境部署时候需要动态调整。

        2.4注意点

        gate服务器需要开通公网ip。

        excel配置文件要提前规划,在docker脚本中挂载。

        docker挂载的数据目录和日志目录需要提前规划。

        每个服务器内部的端口映射要提前规划。

        环境变量需要在脚本中修改,包括mysql和redis数据库地址,需要链接的服务器ip和端口,以及相关的服务器配置等。

        3、正式部署

        3.1环境调研

        游戏痛点:

        新游首发、海量玩家在线,高并发访问扩容不及时;

        网络时延高,游戏卡顿、玩家掉线;

        自建周期长成本高,无法弹性伸缩。

        大多游戏服务器属于计算密集型的,所以游戏服务器云厂商选择核心点有以下几条:

        资源扩容能力,能及时扩容,根据需求灵活购买资源,实现动态扩展、成本优化,支持游戏开服、扩服、并服等场景的业务运行。

        计算能力卓越,同类型ECS高于友商15%,PPS领先;容器快速发放,性能对比开源高20%,BMS可5分钟发放。

        安全防御,华为云提供了单线路T级DDoS高防IP服务以及百万QPS级CC防护,基于黑客攻击机器学习、业务风控大数据智能隔离等AI能力,保障中手游游戏长期安全运行。

        简化云上运维工作,平台为游戏客户提供7x24小时服务,专项保障、专家支持,确保重大活动业务稳定。不仅能够实现快速部署,而且华为云云游戏管理服务平台可对游戏内容、游戏使用时长进行管控,所有云游戏运营商客户均可快速接入华为云云游戏管理服务平台,获得全套自动化部署环境;还可通过游戏开发及运营一体化,确保在用户实时在线的场景下即可完成游戏优化和体验升级,让产品整体交付效率提升。

        资费,好用且便宜是每个公司的追求,降本增效,多种计费模式,起步预算低,按需使用,用多少付多少,有效缓解企业初创资金压力,更省钱。

        总结:华为云游戏云端部署解决方案,提供覆盖全球的云基础设施,支撑千万级玩家同时在线稳定运行,助力游戏企业打造精品化游戏,保障游戏弹性部署和无忧运维。

        3.2套餐购买

        下面是在官网套餐截图,可以作为参考配置,等到正式生产环境的时候根据资源动态配置。

        注:点击可看大图

        3.3华为云核心优势汇总

        数据库能力:高并发场景,性能稳定性优于友商Mysql主备切换效率优于友商。

        海外区域亚太覆盖:华为网络质量(时延和丢包)总体优于友商(除日韩、越南、台湾)。

        计算能力:ECS——同类型ECS高于友商15%,PPS领先;容器——快速发放,性能对比开源高20%。

        网络能力:内网带宽转发效率最高,ELB亿级并发。

        安全防护:华为云打造租户隔离的安全平台,并提供完善的安全服务保障业务和数据安全,为您的游戏保驾护航。

        极简运维:云上运维工作,平台为游戏客户提供7x24小时服务,专项保障、专家支持,确保重大活动业务稳定。

        高数据可靠性:ECS服务通过商业和技术上的合理努力,承诺单实例维度每服务周期服务可用率不低于99.975%;单区域多可用区维度每服务周期服务可用率不低于99.995%;基于分布式架构的、可弹性扩展的虚拟块存储服务,具有高数据可靠性,高I/O吞吐能力,能够保证任何一个副本故障时快速进行数据迁移恢复,避免单一硬件故障造成数据丢失。

        3.4机器环境准备

        3.4.1安装docker

        远程登录到机器之后,切换到root用户,执行下面的命令,安装docker环境

        3.4.2拷贝文件到目标机器

        文件列表如下:

        镜像文件,根据2.2中相关命令,拷贝到本地,如果用私有仓库,则不需要执行此步骤。

        拷贝配置文件到机器,将所有的excel配置文件拷贝到机器,并在启动脚本中配置挂载

        启动脚本,在规划的目录下创建并修改启动脚本,设置相应的参数。

        3.4.3脚本执行

        在所有的文件都准备好之后,切换到脚本所在目录,可以直接启动脚本,下面以game为例

        3.4.4验证服务器正常

        首先查看所有服务器的日志是否有报错异常,然后使用特殊账号进行登录,验证服务器功能正常

        验证点:

        可以正常登录

        可以匹配战斗

        http接口正常

        服务器操作正常

        主要业务逻辑正常

        验证以上逻辑后通知测试同学进行功能测试。

        3.4.5开服

        待测试同学测试通过后,通过gm设置服务器状态为开服状态,部署流程结束。

        4、总结

        九层之台,起于垒土。华为云在游戏领域的发力,并非一日之计。

        好的云服务厂商可以让事情更简单、更容易,华为云值得作为首选

        华为云游戏云端部署解决方案,提供覆盖全球的云基础设施,支撑百万级玩家同时在线稳定运行,结合云上运维运营,助力游戏企业实现业务的快速上线和弹性扩展,有效应对游戏的突发性需求和游戏企业出海发展需求。

        目前华为云开年采购季正在进行中,众多云上优选的产品及爆款解决方案诚意满满,机不可失时不再来,感兴趣的小伙伴快去看看吧!

    news.zol.com.cn true https://news.zol.com.cn/862/8624166.html report 7319     前言随着游戏市场的火爆,游戏行业逐渐向精品化、IP化、多样化的格局迈进,这也对游戏开发者提出了更高的要求。如何保证游戏性能稳定,为玩家提供流畅的开黑体验?今天准备尝试用下华为云的服务,沉浸式感受游戏云端部署解决方案的强大。1、游戏架构...
    • 猜你喜欢
    • 最新
    • 精选
    • 相关
    推荐问答
    提问
    0

    下载ZOL APP
    秒看最新热品

    内容纠错