网游服务器架构设计需要考虑的一些关键因素

2024-01-11 18:48

本文主要是介绍网游服务器架构设计需要考虑的一些关键因素,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

——Some key problems we should consider when design MMORPG Server Architecture

网络游戏出现至今,角色扮演游戏(MMORPG)一直是个主流游戏类型。主要原因还是因为拥有丰富的交互体验,特别是玩家之间的互动、角色扮演的特性在MMORPG这种游戏类型中最能得到丰富的表现。相对于Casual Game网游来说,MMORPG本身的游戏设计方面的特性就决定了MMORPG 服务器的设计和实现的难度会更大、对服务器系统的要求更高。这个难度又主要体现在服务器架构设计方面。

那么如何设计架构、如何评价架构设计、以什么为标准来决定设计,就是一个问题,接下来说说我对评价标准的看法。

服务器组架构(Server Cluster Architecture)的主要评价标准包括:

  • Stability,稳定性

稳定提供游戏服务,是服务器系统确保用户体验的最基本要求。稳定性主要与应用服务器的软件质量相关。稳定性处于第一位的原因是稳定性是用户体验的基石,稳定性不过关的话,其他一切都无从谈起。

  • Efficiency,效率

服务器组的运行时效率主要体现在服务器系统的承载能力上。对于同类型的游戏来说,同样一组服务器硬件运行A游戏可以承载5000人,但是运行B游戏只能运行2000人,这就是效率差异。

  • Scalability,可缩放性

可缩放性在一定程度上可以理解为:增加服务器硬件是否可以相应的提高系统的负载能力或者是否能提高用户体验。承载能力和用户体验都是系统表现的一部分。但是不管对于什么样的系统,系统硬件数量/能力和系统实际运行表现基本上都不可能是线型关系。就是说Scalability总是只能在一定范围内做评价,例如:某系统可以在0-100k在线玩家的情况下提供流畅的游戏。

从游戏开发及运营的角度来考虑,主要评价标准还要包括:

  • Productivity,生产力、开发效率

服务器的架构设计不止要考虑系统运行时的效率,开发时的工作效率也要考虑。例如:不同的系统服务(Service)或应用服务器(Application Server)之间是否会过度耦合(Over Coupling)?如果这种情况出现,也常常会导致开发人员工作的耦合,在日常的开发中,工作效率就难以保证。想象一下要Debug某个模块时候需要手动的在不同的远程服务器上更新开启3、5个不同的服务器程序。这种小任务重复做一年、二年累积起来就是很大的资源浪费,包括人力和硬件,甚至团队士气。

  • TCO,总体拥有成本

尽量使用最便宜、最少量的硬件、最小的带宽、最少的维护人员,尽量达到最好的运行时表现;这直接影响游戏的运营收入、利润率,间接影响游戏的成败、公司的成败;

  • Simplicity,简单

简单性要体现在服务器组(Server Cluster)的部署、和维护方面。如果一个游戏服务器组有20台硬件,那么备份数据、更新、重启这种简单的事情都会不再简单。一般游戏服务商每周都只做两小时停机维护,20组服务器的话,一次需要多少人做这个维护工作?40组呢?

  • Extendibility/可扩展性

实 际上考虑到网络游戏服务的持续性,可扩展性也很重要,再丰富的游戏内容也无法持续吸引玩家几年,一般的做法就是周期性的持续提供游戏更新。在网游服务器架 构设计上考虑内容上的可扩充性,也是有必要的,通过技术细节的改进总可以得到或多或少的改进,但是在架构设计阶段就考虑到可扩展性才是聪明的做法。

这篇关于网游服务器架构设计需要考虑的一些关键因素的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/595361

相关文章

服务器集群同步时间手记

1.时间服务器配置(必须root用户) (1)检查ntp是否安装 [root@node1 桌面]# rpm -qa|grep ntpntp-4.2.6p5-10.el6.centos.x86_64fontpackages-filesystem-1.41-1.1.el6.noarchntpdate-4.2.6p5-10.el6.centos.x86_64 (2)修改ntp配置文件 [r

关于数据埋点,你需要了解这些基本知识

产品汪每天都在和数据打交道,你知道数据来自哪里吗? 移动app端内的用户行为数据大多来自埋点,了解一些埋点知识,能和数据分析师、技术侃大山,参与到前期的数据采集,更重要是让最终的埋点数据能为我所用,否则可怜巴巴等上几个月是常有的事。   埋点类型 根据埋点方式,可以区分为: 手动埋点半自动埋点全自动埋点 秉承“任何事物都有两面性”的道理:自动程度高的,能解决通用统计,便于统一化管理,但个性化定

业务中14个需要进行A/B测试的时刻[信息图]

在本指南中,我们将全面了解有关 A/B测试 的所有内容。 我们将介绍不同类型的A/B测试,如何有效地规划和启动测试,如何评估测试是否成功,您应该关注哪些指标,多年来我们发现的常见错误等等。 什么是A/B测试? A/B测试(有时称为“分割测试”)是一种实验类型,其中您创建两种或多种内容变体——如登录页面、电子邮件或广告——并将它们显示给不同的受众群体,以查看哪一种效果最好。 本质上,A/B测

系统架构师考试学习笔记第三篇——架构设计高级知识(20)通信系统架构设计理论与实践

本章知识考点:         第20课时主要学习通信系统架构设计的理论和工作中的实践。根据新版考试大纲,本课时知识点会涉及案例分析题(25分),而在历年考试中,案例题对该部分内容的考查并不多,虽在综合知识选择题目中经常考查,但分值也不高。本课时内容侧重于对知识点的记忆和理解,按照以往的出题规律,通信系统架构设计基础知识点多来源于教材内的基础网络设备、网络架构和教材外最新时事热点技术。本课时知识

Linux服务器Java启动脚本

Linux服务器Java启动脚本 1、初版2、优化版本3、常用脚本仓库 本文章介绍了如何在Linux服务器上执行Java并启动jar包, 通常我们会使用nohup直接启动,但是还是需要手动停止然后再次启动, 那如何更优雅的在服务器上启动jar包呢,让我们一起探讨一下吧。 1、初版 第一个版本是常用的做法,直接使用nohup后台启动jar包, 并将日志输出到当前文件夹n

速盾:直播 cdn 服务器带宽?

在当今数字化时代,直播已经成为了一种非常流行的娱乐和商业活动形式。为了确保直播的流畅性和高质量,直播平台通常会使用 CDN(Content Delivery Network,内容分发网络)服务器来分发直播流。而 CDN 服务器的带宽则是影响直播质量的一个重要因素。下面我们就来探讨一下速盾视角下的直播 CDN 服务器带宽问题。 一、直播对带宽的需求 高清视频流 直播通常需要传输高清视频

分布式系统的主要考虑

异构性:分布式系统由于基于不同的网路、操作系统、计算机硬件和编程语言来构造,必须要考虑一种通用的网络通讯协议来屏蔽异构系统之间的禅意。一般交由中间件来处理这些差异。缺乏全球时钟:在程序需要协作时,它们通过交换消息来协调它们的动作。紧密的协调经常依赖于对程序动作发生时间的共识,但是,实际上网络上计算机同步时钟的准确性受到极大的限制,即没有一个正确时间的全局概念。这是通过网络发送消息作为唯一的通信方式

一种改进的red5集群方案的应用、基于Red5服务器集群负载均衡调度算法研究

转自: 一种改进的red5集群方案的应用: http://wenku.baidu.com/link?url=jYQ1wNwHVBqJ-5XCYq0PRligp6Y5q6BYXyISUsF56My8DP8dc9CZ4pZvpPz1abxJn8fojMrL0IyfmMHStpvkotqC1RWlRMGnzVL1X4IPOa_  基于Red5服务器集群负载均衡调度算法研究 http://ww

RTMP流媒体服务器 crtmpserver

http://www.oschina.net/p/crtmpserver crtmpserver又称rtmpd是Evostream Media Server(www.evostream.com)的社区版本采用GPLV3授权 其主要作用为一个高性能的RTMP流媒体服务器,可以实现直播与点播功能多终端支持功能,在特定情况下是FMS的良好替代品。 支持RTMP的一堆协议(RT

云原生之高性能web服务器学习(持续更新中)

高性能web服务器 1 Web服务器的基础介绍1.1 Web服务介绍1.1.1 Apache介绍1.1.2 Nginx-高性能的 Web 服务端 2 Nginx架构与安装2.1 Nginx概述2.1.1 Nginx 功能介绍2.1.2 基础特性2.1.3 Web 服务相关的功能 2.2 Nginx 架构和进程2.2.1 架构2.2.2 Ngnix进程结构 2.3 Nginx 模块介绍2.4