Unity高级开发-网络(四)-游戏开发移动端游戏服务器架构

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

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

强联网的游戏,主要是指对游戏数据实时性要求比较高的联网游戏,比如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查证,用户信息是否合法,整个流程就是这样子的。

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

  • 先来几个连接,学习一下

用Unity抓取指定url网页中的所有图片并下载保存

http://blog.csdn.net/u010019717/article/details/52890644
http://blog.csdn.net/qq_33805569/article/details/52484672

http://blog.csdn.net/u014230923/article/details/51308666
http://blog.csdn.net/u014230923/article/details/51312292
http://blog.csdn.net/u014230923/article/details/51313353
对象池子:
http://blog.csdn.net/u014230923/article/details/51480746
相应不规则区域的解决办法
http://blog.csdn.net/u010019717/article/details/52794287

Shader
http://www.unity.5helpyou.com/category/unity-shader

讯飞输入法接入
http://www.manew.com/blog-123323-3938.html

你可能感兴趣的:(Unity高级开发-网络(四)-游戏开发移动端游戏服务器架构)