搭建国产网络游戏架构解决方案
来源:中国电子政务网 更新时间:2012-04-15
2004年,随着众多国产网络游戏的推出,整个网络游戏产业形成了两大流派:韩国产网络游戏和国产网络游戏。在游戏运营方面,韩国游戏一般都有在韩国经过实践检验的成熟架构,只需设备提供商提供成熟完善的售后服务;而国内网络游戏开发商及运营商由于起步较晚,其游戏平台架构一般都采取与设备提供商合作的方式来搭建。这也就要求设备提供商要在网游这个行业具有丰富的行业经验,能够在游戏平台架构及其他方面提出有建设性的方案。

   通过浪潮多年来在网络游戏行业的经验积累,我们发现一个完整的网络游戏可分为如下几个阶段:

  网络游戏项目立项阶段
  网络游戏开发阶段
  网络游戏架构规划阶段
  网络游戏内部测试阶段
  网络游戏公开测试阶段
  网络游戏正式收费运营阶段

   每个自主开发的网络游戏基本都会经过从项目调研、规划、软件架构确定、软件编码、硬件架构确定、测试、正式运营等阶段,每个阶段各有侧重。整体来 看,有两个关键因素影响网络游戏运营的成败: 一个是游戏本身的可玩性与后期运营; 另一个就是从架构上来保证整个系统的稳定、高效运行。只有一个稳定、可靠的网络游戏平台才能吸引并维持住广大的游戏玩家。

   搭建整个网络游戏的硬件架构,既需要游戏开发商熟悉自身的软件,同时需要硬件提供商精通硬件系统,且对行业有充分的了解,软、硬件提供商的无间配合才能创造出一个适合本游戏的稳定可靠的硬件架构。

   最近国内一著名网络游戏开发商就与浪潮展开全面合作,来搭建整个新游戏的公测运营平台。

   10月末,浪潮客户经理和技术工程师在与该网游客户的交流中,无意中提到了客户当前正在准备的一款新游戏的上线公测架构问题。客户谈到他们虽然是游戏的开发商,但是在游戏的运营方面积累的经验还太少, 游戏服务硬件平台的搭建需要更多的支持和协助,而且他们对于当前架构中游戏区数据库平台的性能和持续服务性上也存在担心,之前还就这个问题咨询过业界的一家友商(以下简称某公司),这次也希望浪潮能够给出独特的建议。

   某公司所推荐的是两台数据库服务器搭配RAID卡,再加上不带控制器的磁盘柜的双机高可用模式来作为客户的数据库平台。经过分析,我们发现这种搭建方式虽然从表面上看来,能够实现一定的数据库平台的硬件容错功能,而且投资较低。但是仔细分析,我们就发现这种方式在满足数据库的大并发量、后期随业务变化的迁移能力方面,以及数据的安全性上都存在极大的隐患。

   在网络游戏中,数据库的高可用是非常重要的一点。我们必须保证在7×24小时的不间断运行过程中,游戏玩家的各类游戏数据以及关键的帐户信息等都能随时从数据库中调取访问。而且数据的安全也是我们所必须考虑到的,没有一个运营商愿意看到因为游戏玩家数据的丢失而造成对玩家利益的损害,进而损失掉客户资源。所以数据库系统必须采取安全可靠的方式来搭建。



为了解决这些隐患,浪潮提出了两套解决方案。

   采取共享磁盘阵列的双机高可用方式

   第一套是采取共享磁盘阵列的双机高可用方式采用多主机通道的带专用存储阵列控制器的SCSI磁盘阵列接多台主机,再通过高效双机软件构建稳定可靠的双机高可用数据库系统。
这样做有两大优点。

   优点之一是通过多套双机系统共享磁盘阵列提高了存储系统的利用率,节省了投资。因为客户在游戏区有两套数据库系统,一套是角色数据库,提供对玩家建立的角色信息的存储; 另一套就是帐号数据库计费系统,提供对本区所有玩家帐号认证、鉴权与费用计算等运营支撑功能。对于这样的关键应用,某公司的做法是采用4台服务器和2台磁盘柜构成两套双机,而我们是利用浪潮NS3500E的多主机通道来使前端的4台服务器共享这个磁盘阵列,而且该磁盘阵列还有存储空间扩展能力,不论在数据的I/O性能上,还是在扩展能力上都有出色的表现。

   优点之二是因为磁盘阵列带存储专用阵列控制器,它在磁盘的数据校验、I/O吞吐,以及后期扩展移植方面都较RAID卡加磁盘柜的方式有巨大的优势,在数据的安全性上给出了更高的保证。

   采用双机高可用系统具备以上两个优点的同时,也存在一些问题。 如果在全国每一个游戏区,都按照上面的方式设置双机高可用数据库系统,则投资会非常巨大,而且由于数据全部分散存储在各地游戏区的机房中,也不利于数据的集中管理与数据挖掘的开展,同时也增加了数据受到意外损失的风险。为此我们建议客户设立一个全国总的中心帐号数据库系统,用来存储全国玩家的帐户信息,以及其他的一些关键数据。同时为了能在游戏区中方便快捷的调用游戏玩家的帐户数据等身份认证信息,可以在每个区设立一个数据库的前置系统,用于本区的信息存储与调用。这避免了在每个游戏区都设立高投入的双机数据库系统,将本应放在游戏区的对数据库的压力,集中到全国总的数据库上。现在关键的问题就是这套数据库系统如何构建才能满足要求。我们一方面必须保证它有极高的数据处理能力,另一方面又必须保证它具备在任何情况下都不停止服务的能力。

客户在全国总的数据库采用并行数据库的方式来建立

   首先数据库服务器我们全部采用了4路的高性能企业级服务器,而且使用了多台,另外在存储方面使用光纤的磁盘阵列来替代SCSI阵列以提高性能。采用Oracle并行数据库,与采用双机系统相比明显的性能优势就是,双机系统在正常工作时还是只有一台服务器对外提供数据处理服务;而Oracle并行数据库系统则在工作时是所有数据库处理节点机都对外提供服务,一般情况下性能较双机系统提升70%,这样就完全能够满足全国玩家的帐号信息的大规模并发访问要求。另外,由于并行数据库具有数据库级别的负载均衡容错能力,当其中一台数据库服务器出现问题时,另一台可以在很短的时间内完全承担故障服务器的所有功能,持续不断的对外提供数据库服务,保证整个系统24×7的稳定运行。

   客户在经过反复论证后,最终决定选择第二套方案来搭建游戏公测的硬件架构,即建立全国总中心。
  
   在双方的精诚合作下,整个游戏公测的准备进行得非常顺利,也非常迅速。浪潮仅用了5天就完成了采购、发货到客户现场的整个过程,正是这种高效的方式为客户赢得了宝贵的时间,而且浪潮工程师还利用自身的专业能力协助客户完成了后期的一系列增值服务。这一切都是浪潮在网络游戏行业所能为客户带来的增值服务。

   其实客户一般都会从行业经验、增值服务能力、技术实力、售后服务能力、产品供货周期等方面来考察一个产品提供商的实力,也是在综合考虑了这些因素之后,客户选择了浪潮来与他一道开展整个网络游戏项目。也正是通过这种双方的通力协作,才能搭建起整个高效稳定的网络游戏平台,为客户下一步业务的开展打下了坚实的基础。