风景看看

华为云开年采购季游戏部署再加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机器准备

声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,请发送邮件至 PTU@FOXMAIL.COM 举报,一经查实,立刻删除。