MMOPRG服务端架构设计

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MMOPRG服务端架构设计相关的知识,希望对你有一定的参考价值。

   早期的服务端架构是采用Client-->GameServer-->DB的模式,所有的业务和数据都集中在GameServer上一起处理,导致服务器压力很巨大,一个BUG可能导致服务器全程崩溃,以至于造成玩家流失。还有当开服的时候,所有玩家堆积在一个服务器,大量场景消息和广播风爆造成服务器卡。中期然后通过改进增加GameServer,达到分线缓解服务器压力,缺点是运营到后期,随着每条线玩家的减少, 互动大大减少。后期采用了按地图划分服务器,这样大大缓解了服务器的业务和数据压力。现在主流的服务器构架如下,主要增加了网关服务器。

技术分享

网关服务器优点: 

    (1)作为网络通信的中转站,负责维护将内网和外网隔离开,使外部无法直接访问内部服务器,保障内网服务器的安全,一定程度上较少外挂的攻击。

    (2)网关服务器负责解析数据包、加解密、超时处理和一定逻辑处理,这样可以提前过滤掉错误包和非法数据包。

    (3)客户端程序只需建立与网关服务器的连接即可进入游戏,无需与其它游戏服务器同时建立多条连接,节省了客户端和服务器程序的网络资源开销。

    (4)在玩家跳服务器时,不需要断开与网关服务器的连接,玩家数据在不同游戏服务器间的切换是内网切换,切换工作瞬问完成,玩家几乎察觉不到,这保证了游戏的流畅性和良好的用户体验。

    缺点: 

1.网关服务器成为高负载情况下的通讯瓶颈问题

2由于网关的单节点故障导致整组服务器无法对外提供服务的问题

    解决:多网关技术。顾名思义,“多网关” 就是同时存在多个网关服务器,比如一组服务器可以配置三台GateServer。当负载较大时,可以通过增加网关服务器来增加网关的总体通讯流量,当一台网关服务器宕机时,它只会影响连接到本服务器的客户端,其它客户端不会受到任何影响。

以上是关于MMOPRG服务端架构设计的主要内容,如果未能解决你的问题,请参考以下文章

TYPESDK 服务端设计思路与架构之六:性能及调优初步

谈一款MOBA类游戏《码神联盟》的服务端架构设计与实现

移动App服务端架构设计

几十万人同时在线的直播间聊天,如何设计服务端架构?

IM 即时通讯开发如何设计图片文件的服务端存储架构

我是如何设计游戏服务器架构的