游戏服务器分区的分布式部署

游戏服务器的分布式部署一直是大家想学的,今天给大家总结一下关于游戏服务器分区部署的相关内容。

游戏服务器分区部署架构

先上架构图:

如上图所示,游戏客户端通过HttpServer的分区管理服务器,来获取当前游戏的所有游戏分区。获取的每个分区,有对应分区连接的"分区描述","IP地址","端口"等。这样当玩家选择对应分区的时候,我们就知道连接哪个分区,在哪个地址与端口与服务器分区建立连接。当我们运营要扩展一个分区时,只要拿一组新的服务器,做好配置,登记到上图的HttpServer,这样客户端就能看到新的服务器分区。

对惹,这里有一 个游戏开发交流小组,希望大家可以点击进来一起交流一下开发经验呀

游戏分区的分布式部署

一个游戏分区,需要带特定的人数,独立完成所有的游戏玩法,这个过程中,可能也需要做好分布式,每一个分区的分布式有三种经典做法:

模式1: 网关模式(上图华南区)

根据自己的服务器机器配置+游戏玩法+负载需求,来确定分配好哪些任务放机器A,哪些任务放机器B, 哪些任务放机器C。然后搞一个网关服务器,统一对外负责数据通讯,每次客户端与服务器铜须的时候,都通过网关来转发。这样通过网关+N台机器实例,组成一个游戏逻辑服分区。

优点:

a:安全,对外的只有一个服务器机器,一个端口,只要做好一台机器的网络安全即可;

b:可以让不同的物理机器,通过网关串联,来形成一个分区,降低游戏服务器分区的机器配置,让多台性能不那么好的机器,来完成一个分区的任务。

缺点:

a: 每次网络通讯,需要网关转发,影响速度;

b: 由于不同的任务放不同的机器上,增加服务器内部通讯的需求;

****模式2: 高性能机器部署分区(上图华北区)

一个高性能的机器来部署一个游戏分区,比如单核2.6G, 32核心,64GB内存。把游戏逻辑服部署在一台机器上,可以采用多进程多线程架构,全部直接部署在一台机器上。

优点:

1: 部署环境简单,稳定。

2: 所有的数据都在一台机器上,可以通过线程通讯、进程通讯等来提升数据交换性能;

3: 适合多线程的服务器架构设计;

缺点:

1: 机器比较昂贵;

2: 充分发挥32核心,对服务器开发人员的架构能力要求更强;

****模式3: 多机器部署+多直连方式

与网关方式不同,将不同的内部逻辑服部署到不同的机器上,游戏的时候,客户端连接哪个逻辑,就直接对应连接哪个逻辑服。

优点:

1: 可以用低配置的多台机器完成游戏分区部署,降低成本;

2: 开发部署的时候也更简单方便;

3: 相比网关,没有中间的数据转发,响应速率会更快;

缺点:

1:对外(客户端)放开了多个机器的IP地址+端口,安全维护成本增加;

总结:

a: 预算充足的情况下,用模式2;

b: 预算不够,状态同步,用模式1;

c: 预算不够,帧同步(不能用网关转发),大厅+子游戏等,用模式3;

End

最后附上《全栈+双端TurnKey方案+教程》分布式演示案例:

相关推荐
lizhihai_9911 分钟前
股市学习心得-AI 产业链核心标的梳理清单
大数据·服务器·人工智能·科技·学习
ha_lydms28 分钟前
AnalyticDB分区、分布键性能优化
android·大数据·分布式·性能优化·分布式计算·分区·analyticdb
黄同学real43 分钟前
解决 Visual Studio Web Deploy 远程发布报 401 未授权 (ERROR\_USER\_UNAUTHORIZED)
服务器
pqk6V6Vep1 小时前
Redis 分布式锁进阶第一篇讲解
数据库·redis·分布式
天天进步20151 小时前
Tunnelto 源码解析 #9:控制服务器设计:Warp、WebSocket、Ping/Pong 与连接保活
运维·服务器·websocket
giaz14n9X1 小时前
Redis 分布式锁进阶第六十一篇
数据库·redis·分布式
Java面试题总结2 小时前
Linux-Ubantu-贴士-apt的地盘
linux·运维·服务器
●VON2 小时前
AtomGit Flutter鸿蒙客户端:数据模型
android·服务器·安全·flutter·harmonyos·鸿蒙
酉鬼女又兒2 小时前
零基础入门计算机网络:网络层核心任务、三大关键问题、两种服务类型与 TCP/IP 网际层协议体系全解析
服务器·网络·网络协议·tcp/ip·计算机网络·php·求职招聘
远程软件小助理2 小时前
ToDesk节点繁忙、向日葵免费试用受限,还有什么免费好用的远程软件推荐?
经验分享·游戏·远程工作