图形工作站、集群应用方案
  • 网站首页
  • 商城
  • 产品
  • 行业计算
  • 科学工程计算
  • 化学&生物
  • 图形设计
  • 图像处理
  • 视景仿真
  • 人工智能
  • 影视后期
全球领先的高端图形工作站供应商

免费测试 热线 : 400-7056-800 【 为任何应用提供 最快计算设备 如不符,退货】【最新报价】【选购指南】【京东商城】



企业通用模版网站

  • 科研团队全能超算平台25v1
  • 超高分拼接 数字孪生
  • 科学计算MatLAB工作站24
  • 地质建模 油藏模拟工作站
  • 工业CT扫描 机器视觉计算
  • 电力系统关键应用配置24
  • 网站首页
  • 商城
  • 产品
  • 行业计算
  • 科学工程计算
  • 化学&生物
  • 图形设计
  • 图像处理
  • 视景仿真
  • 人工智能
  • 影视后期
  • 送无人机啦 8核6.4GHz  96核4.8GHz 加速改装 

  • 高性能集群 虚拟并行计算 芯片设计 光学仿真 

  • 蛋白质预测 生物信息 冷冻电镜 材料模拟

  • RSS订阅
  • 理科计算推荐
  • 仿真计算最快最完美25v1
  • 电磁仿真单机与集群25v1
  • 航拍实景建模单机集群
  • 遥感图像处理工作站集群
  • 4K/8K剪辑特效调色24v1
  • AI大模型工作站集群25v1
  • Abaqus硬件配置大全24v3
  • CST电磁仿真工作站25v1
  • 多物理场仿真单机与集群
  • 流体/空气动力学仿真25v1
  • 量子化学 分子动力模拟
  • 三维设计24v2  3D打印

 

您的位置:UltraLAB图形工作站方案网站 > 行业计算 > 电力能源石油 > 游戏服务器架构探讨

游戏服务器架构探讨

时间:2009-11-20 03:23:00   来源:UltraLAB图形工作站方案网站   人气:10196 作者:admin

登录服在设计上应该能满足这种动态增删的需求,我们可以在任何时候为大区增加或减少登录服的部署。另外,当我们在增加或移除登录服的时候不应该需要对游戏世界服有所改动,也不会要求重启世界服,当然也不应该要求客户端有什么更新或者修改,一切都是在背后自动完成。

中心服务器主要维护一张地图ID到地图服务器地址的映射表。当我们要进入某张地图时,会从中心服上取得该地图的IP和port告诉客户端,客户端主动去连接,这样进入他想要去的游戏地图。在整个游戏过程中,客户端始终只会与一台地图服务器保持连接,当要切换地图的时候,在获取到新地图的地址后,会先与当前地图断开连接,再进入新的地图,这样保证玩家数据在服务器上只有一份。

  我们来看看结构图是怎样的:

             中心服务器
          /              
         /                
      登录服     地图1    地图2   地图n
                 |         /       /
                 |        /       /
               客户端

  很简单,不是吗。但是简单并不表示功能上会有什么损失,简单也更不能表示游戏不能赚钱。早期不少游戏也确实采用的就是这种简单结构。

。客户端只需要连接到中心服上,所有到地图服务器的数据都由中心服来转发。

很完美的解决方案,不是吗?

  这种结构在实际的部署中也遇到了一些挑战。对于一般的MMORPG服务器来说,单台服务器的承载量平均在2000左右,如果你的服务器很不幸地只能带1000人,没关系,不少游戏都是如此;如果你的服务器上跑了3000多玩家依然比较流畅,那你可以自豪地告诉你的策划,多设计些大量消耗服务器资源的玩法吧,比如大型国战、公会战争等。

还有聊天处理逻辑,这部分与游戏逻辑没有任何关联,我们也完全可以将其独立出来,放到一台单独的聊天服务器上去实现。

在之前描述的部分就如同舞台上的演员,是我们能直接看到的,幕后的工作人员我们也来认识一下。


先从mangos的登录服代码开始。mangos的登录服是一个单线程的结构,虽然在数据库连接中可以开启一个独立的线程,但这个线程也只是对无返回结果的执行类SQL做缓冲,而对需要有返回结果的查询类SQL还是在主逻辑线程中阻塞调用的。

  登录服中唯一的这一个线程,也就是主循环线程对监听的socket做select操作,为每个连接进来的客户端读取其上的数据并立即进行处理,直到服务器收到SIGABRT或SIGBREAK信号时结束数据库的处理也类似,会使用异步的方式,也是避免耗时的查询过程将游戏服务器主循环阻塞住。想象一下,因某个玩家上线而发起的一次数据库查询操作导致服务器内所有在线玩家都卡住不动将是多么恐怖的一件事!

单个数据包在网上的格式是“len-type-data”。

前面一直都在说接收数据时的处理方法,我们应该用专门的IO线程,接收到完整的消息包后加入到主线程的消息队列,但是主线程如何发送数据还没有探讨过。

  考虑数据缓存的话,那这里这可以有两种实现方式了,一是为每个玩家准备一个缓冲区,另外就是只有一个全局的缓冲区,要发送的数据加入到全局缓冲区的时候同时要指明这个数据是发到哪个socket的。如果使用全局缓冲区的话,那 #p#page_title#e#
们可以再进一步,使用一个独立的线程来处理数据发送,类似于逻辑线程对数据的处理方式,这个独立发送线程也维护一个消息队列,逻辑线程要发数据时也只是把数据加入到这个队列中,发送线程循环取包来执行send调用,这时的阻塞也就不会对逻辑线程有任何影响了。

  采用第二种方式还可以附带一个优化方案。一般对于广播消息而言,发送给周围玩家的数据都是完全相同的,我们如果采用给每个玩家一个缓冲队列的方式,这个数据包将需要拷贝多份,而采用一个全局发送队列时,我们只需要把这个消息入队一次,同时指明该消息包是要发送给哪些socket的即可。有关该优化的说明在云风描述其连接服务器实现的blog文章中也有讲到,有兴趣的可以去阅读一下。

,有些类似于Observe模式中的观察者,当收到更新通知时,我们只能更新自己的状态,对刚刚发生的事件我不已不能做任何影响

关闭此页
上一篇:游戏服务器可用性问题的简单分析
下一篇:流行的大型网络游戏主要是基于服务器

相关文章

  • 05/09Xeon6代+4块GPU--图灵超算工作站GT450M介绍
  • 05/09汽车风阻测试模拟分析、算法,及服务器/工作站计算设备硬件配置推荐
  • 04/26高频交易(HFT)应用分析、算法,服务器/工作站硬件配置推荐
  • 04/25衍生品定价与风险对冲应用分析、算法,及服务器工作站硬件配置
  • 04/25量化交易策略应用算法分析、服务器工作站硬件配置
  • 04/24金融风险管理应用算法分析、服务器/工作站硬件配置推荐
  • 04/19油藏模拟软件的算法分析以及图形工作站/服务器硬件配置推荐25v2
  • 04/17大型3D设计软件CATIA-算法分析与图形工作站硬件配置
  • 04/17Cadence EDA主要软件计算特点分析,服务器/工作站硬件配置推荐
  • 04/16Synopsys EDA主要软件计算特点分析,服务器/工作站硬件配置推荐

工程技术(工科)专业工作站/服务器硬件配置选型

    左侧广告图2

新闻排行榜

  • 1电力行业图形工作站应用完美配置方案2013
  • 2GOCAD三维地质建模工作站硬件配置推荐2020
  • 3油藏数值模拟与XASUN图形工作站配置方案
  • 4地震资料解释超级利器-XASUN图形工作站精选
  • 5CMG油藏数值模拟工作站硬件配置方案2024v2
  • 6天龙八部游戏数据库服务器配置要求
  • 7Petrel地质与勘探开发建模工作站硬件配置推荐2022
  • 8电力系统关键应用算法特点与服务器/工作站配置精选
  • 9NVIDIA重磅推荐!史诗级魔幻大作《最终幻想14》发布!
  • 10游戏性能受益,Intel DDIO技术可降低网络延迟

最新信息

  • 油藏模拟软件的算法分析以及图形工作站/服务器硬件配置推荐25v2
  • 特高压技术的研究、算法、软件、高性能服务器计算设备硬件配置
  • 人造太阳研究、算法、软件及计算设备硬件配置推荐
  • 全波形反演计算、求解器、软件及图形工作站硬件配置要求
  • 能源生产的生成式AI应用研究、算法、对计算设备硬件配置要求
  • 超级台风对风力发电设备破坏分析、算法及计算设备硬件配置
  • 可再生能源研究、算法、软件及完美图形工作站/服务器硬件配置推荐
  • 熔盐光热发电站研究、算法、软件及图形 /服务器硬件配置

应用导航:

工作站产品中心 京东商城 中关村商城 淘宝商城 超高分可视化商城 便携工作站商城 ANSYS CATIA Microsoft INTEL NVIDIA 网站统计

公司简介-业务咨询-招聘英才-资料下载-UM-

本网站所有原创文字和图片内容归西安坤隆计算机科技有限公司版权所有,未经许可不得转载
陕ICP备16019335号 陕公网安备61010302001314号
Copyright © 2008-2023 , All Rights Reserved

首页
热线
商城
分类
联系
顶部