《征途》服务器分布式设计理念介绍.docxVIP

《征途》服务器分布式设计理念介绍.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
征途》服务器分布式设计理念介绍 MMORPG 特点 面的所讲述的三个特点,给我们带来了性能问题,带 来了挑战。我们最终形成的征途服务器分布式技术构架,是 解决他们带来的问题,而不是绕过他们。 实时的交互 电子游戏的交互的实时性不言而喻, MM0RPG 则带来 了更复杂的交互。 无论是玩家与 NPC 还是玩家与玩家之间, 当一个玩家发出指令,周围的玩家都应立即看到他做出的改 变。玩家的忍受度基本都在 200ms 内。 区域群集效应 般来讲 MMORG 都会有一个或者多个让玩家聚集的 功能区,从软件开发角度讲这是业务的需求。 对服务器带来的压力我们做一个简单的测算 每人做出1个事件的平均时间是 T,并将结果发给可见 范围内的玩家,在单位时间T内,服务器的复杂度是 0(n+n2), n 是可见范围内的玩家数量。换一个不严格的说法,就是当 聚的人。 你有 n 你有 n 个人群聚在一起,你的服务器将会少上 n2-n 的不群 所以区域群集效应对服务器性能带来的降低是巨大的。 更多的人在一起做更多内容的交互 跟 MO 游戏比较, MMO 的游戏在一起交互的玩家大大 增加。 跟其他类型游戏比较, RPG 的内容相对来说要很多。 MMO 和 RPG 元素放在一起,服务器要做的事情就是 MMO 的人数 x RPG 的内容。 、相对应带来的关键问题 更多要处理的数据,更多要同步给用户的数据复杂度是 O(n )。 O( n2 )。当用户聚集在一起, 性能的下降是迅速的复杂度是 O( n2 )。 三、要让多人在一起互动,服务器需要解决上述 2 大问题 即游戏数据的处理及同步 单台服务器处理能力有限,所以分布式服务器技术是很 自然的解决方案。围绕上述两个核心问题,我们提出一些分 布式服务器技术构架的具体解决方案。这些方案都是实际应 用于征途服务器中。 a) 针对游戏数据处理 将游戏世界按区域拆分到多个游戏服务器中, 这些游戏服 务器共同组建了一个整体的游戏世界,这些在一起的玩家可 以很方便的互动。 2. 当然数据同步也被游戏服务器分散承担。 带来的问题 用户基本状态信息, 比如是否登录, 目前在那个服务器。 解决办法是架设一个 session 服务器。 针对游戏数据同步 为什么数据同步已经有负载了, 还要针对数据同步进行负 载均衡。 我们要容纳更多的玩家。 随着人数增加,人数高峰的到来,区域群集效应对性能 影响突出。在实际情况中,总是某一个或几个区域聚集的人 特别多。 因此带来的性能问题, 无法通过划分更细小的区域, 增加游戏服务器来解决。 另外从实际角度, 我们也不能一味通过将游戏世界拆分成 更多游戏服务器来解决。 那会到导致服务器的浪费。 从用户体验上讲也不好, 毕竟经常从一个服务器跳转到 另一个服务器让玩家感到麻烦。 客户端经常重新连接也在一定程度上带来了不稳定因 素和性能下降。 3. 所以增加了 gateway 服务器,放置在游戏服务器的前端, 将同步数据的工作交给他。 大致工作原理及效果 玩家平均的链接到 gateway 服务器。 游戏服务器将用户的位置同步到 gateway 服务器。 理论上每台 gateway 的同步负载为原来游戏服务器负 载的 S2 分之一 (S 是 gateway 服务器的数量 )。 c) 当形成如此的构架后, 诸多功能可以合理的分配到各个服 务器 比如 gateway 服务器增加 数据包的整合,加密,压缩。 数据包合法性,反外挂的检测。 其他与游戏相关性不大,但是很必要的功能。 比如 session 服务器增加 工会功能。 聊天转发。 2.3.好友。2.4.其他非游戏区域性功能。四、此种服务器分布式带来的问题和局限 2.3. 好友。 2.4. 其他非游戏区域性功能。 四、 此种服务器分布式带来的问题和局限 诸多问题和局限,导致运营成本和开发成本的增加,但 是我们可以通过一些适当的手段规避或者减小这方面的风 险。 1. 不太适合服务器人数少的区,灵活性不够,会造成浪费。 虚拟化能解决此问题。 服务器之间的数据同步增加, 内耗较多。 程序开发要做大 量的优化工作。 游戏服务器的复杂度增加, 开发难度增大。 做好封装, 开 发管理及对团队的培训。 五、游戏服务器分布式技术的发展趋势 1. 给玩家带来更好的用户体验, 比如无缝体验, 更大的世界。 2. 游戏业务的分布,将业务剥离做负载均衡,比如,聊天, NPC。 云计算。 六、只有分布式是不够的 1. 良好的均衡技术构架是实现大容量游戏的前提, 在实际开 发中的设计和优化同样非常重要。 2. 游戏设计的优化,将游戏业务适当分散在不同的服务器。 循环算法的优化,一切性能问题都在循环里。 数据流量的优化, 不管是服务器之间的流量, 还是服务器 和客户端的流量。

文档评论(0)

yusuyuan + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档