前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Unity3D-游戏开发移动端网络游戏服务器架构

Unity3D-游戏开发移动端网络游戏服务器架构

作者头像
孙寅
发布2020-06-02 14:11:46
2.3K0
发布2020-06-02 14:11:46
举报
文章被收录于专栏:宜达数字宜达数字

移动端网络游戏主要分为两种类型,一种是弱联网的,一种是强联网的。

弱联网的游戏,主要是指对游戏数据实时性要求比较低的联网游戏,比如卡牌游戏,休闲游戏等。

强联网的游戏,主要是指对游戏数据实时性要求比较高的联网游戏,比如MMORPG,ARPG等。

要求客户端与服务器之间进行实时通信。

在这里主要是跟大家讨论一下如何架设具有负载均衡的游戏服务器,对于游戏服务器开发,自然而然就会涉及到分区,跨服,并服等需求,针对这些需求我们该如何去架设服务器?

首先我们先绘制出游戏服务器分布图:

通过上图,我们可以看出,服务器之间的数据交换,该游戏服务器主要是由LoginServer,GateSever,GameServer,DBServer,CenterServer组成

负载均衡主要是通过,GateServer完成的,就是说当玩家登陆的时候,GateServer会根据GameSever运行情况从里面找出一个相对空闲的GameServer分配给玩家。GateServer与GameServer之间是多对多的关系。换句话说就是GateServer当掉只会影响局部GameServer中玩家的人数,不影响全局。上图显示的只是软件的服务器架构,不是硬件的,意思是说,上面的布局可以在一台硬件服务器上配置完毕,也可以在多台服务器上配置,他们之间的配置是通过配置表完成的,样式如下:

以上是中心服务器配置,那下面是GameServer服务器配置:

数据的传递流程是这样的:

用户发送消息到LoginServer,LoginServer确认消息是否正确,如果正确就发送到CenterServer,来获取GateServer的ip地址和端口信息,接着说消息到达CenterServer后, CenterServer会选取负载最低的GateServer的ip地址和端口信息发给LoginServer, LoginServer发送给客户端,客户端接收到消息后链接GateServer,并发送消息到GateServer, GateServer把用户id保存起来并发送给CenterServer,然后通过GateServer分配用户到负载较小的GameServer、FightServer上面,并记录用户分派的服务器,将已登录用户收编发送消息给GateServer。然后GateServer会发消息给GameServer,GameServer会去DBServe查证,用户信息是否合法,整个流程就是这样子的。

服务器的架构一般都是这个样子。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
负载均衡
负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档