俺不敢说大型网游,是因为市面上那些pc网游我没有经验,不知道怎么做。先说说我经历的网游,wap网游,一款宠物为主的mmorpg,最高峰值在线 2600+,现在我在一家sns游戏公司工作,一款类似开心农场的sns游戏日访问用户40万+,当然,这个网游是主程序架构达的非常不错,我才加入不 久,正在学习中。我做了一个简单类似转盘的模块,每天将近30万独立用户玩。其实俺以前也做过笔记本连锁专卖店,培训用的商业模拟游戏,局域网玩应该没啥 问题,几十人同时在线是可以的,呵呵。
       对于wap网游的架构,一般是一个web server,然后对应一个或者几个数据库,但从架构上讲,不属于分布式的,简单的说,一个用户进入游戏后,他所在的服务器是固定的那一台。类似于这样架 构的游戏,应该大部分web网游和pc网游也是如此。当然,可能会把登陆服务器之类的剥离开来,部分功能实现分布式。而sns网游的架构很不一样,sns 游戏中面对海量用户,在facebook上,月活跃用户超过10万的应用在1000以上。如果这个换成国内的pc网游,比如说5%的付费率,50元的月均 每用户价值,意味着月均25万的收入。呵呵,当然,sns游戏的付费率应该比5%要低,月均每用户价值也要低很多。我目前见到的好几款火一点的sns游 戏,在我看来都应该归于单机类,简单的说,就是游戏内用户之间的交互非常少,绝大部分操作一个人即可搞定。早先我认为这是sns游戏发展的早期阶段,后期 可能还要回归现在流行的网游那种复杂的模式,经过这段时间的学习,我认为事情不是这么简单。
       对于mmorpg,无论是wap网游,web网游还是pc网游,无论是回合制还是实时的,本质的玩法是很接近的。其中有很多团队协作,很多任务不组队根本 做不了,没有公会很多东西得不到,战场上往往都有阵营。这些都是密集的玩家交流,我认为是这些东西决定了一个玩家,只能固定于某一台服务器,或者一个游戏 区里。否则,几十万玩家同处一个虚拟的大服务器,这里面的通信成本太高了。但是聊天服务器估计就得撑爆,而且玩家根本没法看聊天屏幕。这不是简单的技术架 构承载力跟不上的问题,有很多用户体验的问题。
对于wap网友,一台服务器支持2000人同时在线应该不错了。根据一些开私服的经验,一般的私服 在线人数达到1000左右就不错了,当然,这和服务器的配置有关。如果把服务器部分做到分布式,可能能做到万人同时在线吧,据说以前冰岛有个游戏公司就是 如此。不过最关键还是看一个区或者一个逻辑的游戏服务器,要占几台服务器。这个才是关键,因为这涉及到最终每活跃用户的技术成本。比如说,一台普通1万的 服务器,一年的网络通信费用6000,大概16000每年,每月是1300左右的成本,如果对应于2000峰值同时在线,每月的活跃用户应该在 2000*5-2000*10之间,取13000,这样每用户的成本是1毛。当然,这是技术上能达到的每用户成本。但往往很多时候服务器都到不了这个峰值 2000同时在线的水准。比如这个数在1000,这样,每用户成本就在2毛了。当然,这个2毛对于一般的mmorpg来说,属于成本中较小的部分。所以, 虽然技术架构上存在提升空间,但如果运营能力跟不上,可能并不能很好的利用这些技术成本的提升效果。结论是,mmorpg必须达到一定的用户量,有数十台 服务器左右,才能较好的整体考虑降低硬件成本,在未达到规模效应之前,这些架构上的性能提升发挥的作用有限。比如就算达到4000人每服务器,需要的技术 可能高很多,技术成本的提升就不止5万这个水准了,在没达到10台服务器之前,这技术成本的提升还不如多买几台服务器。所以,对于mmorpg,我认为核 心的服务器端架构,在于开发效率和质量上,而不是在性能上,当然,这是在性能满足了2000人同时在线的条件下说的。所以,如果让我再做wap网游或者 java手机网游,性能指标不会定的很高,会更多的采用脚本,以及一些能减少代码行数的成熟框架。当然,如果着眼于开发效率和开发质量,团队的成员的组成 也会有所变化,更多的强调编码规范,增加一些测试成本。
       如果换成sns游戏,比如40万的日活跃用户,这需要10台左右的服务器。而且sns游戏很多是flash,峰值带宽可能要求要高些,还需要cdn这样的 技术分担服务器网络压力。这样硬件+网络成本就比较高了。系统是分布式架构。服务器费用10*10000+网络带宽50000+cdn费用 50000=22万。同样大家可以看到,服务器购买加托管费用不占多少,但网络费用很吓人。由于一般sns的用户生命周期都较短,sns游戏的玩点决定了 用户不太可能玩很久,这样,平摊到每月,每月的成本是2万。每用户的月均费用是0.05元。这个成本相对于我知道的sns游戏的平均用户价值,我认为还是 偏高了,所以这个时候性能的提升还是很重要的。而且,大头在网络上。当然,架构的性能也很重要,性能好点差点,可以把初始的硬件成本大大下降。这个性能提 升的价值可能到10万左右。因为基本上sns推广成本相对偏低,相对可以较快的让服务器达到它能承受的负载。对于sns的架构,我认为一是把单机游戏做的 更耐玩,增加游戏黏性,这需要前期架构较易扩展,二是新的游戏开发周期较短,有较小的试错成本。为什么我不推荐sns游戏像mmorpg那样做大而全的 呢?是因为我觉得sns游戏大部分都是非核心用户。就像现在的流行乐坛,陈小春这样的人歌都可能风靡一阵,偶像派盛行,实力派不是那么百战百胜的。梅艳 芳,郑秀文这样的歌坛天后在办演唱会的时候,都有百变天后的称号。所以,sns游戏应该像梅艳芳,郑秀文这样的歌星学习,这样才有机会领10年风骚。而且 sns游戏应该坚持做有趣的单机游戏,或者增加一点简单网对战,避免公会,阵营这样的设计,这样在系统架构上不会有多大改变。减少架构改变成本。
       呵呵,本来我是一个比较偏重于架构性能的,但通过成本分析后发现,服务器性能提升带来的改变的收益真的不算很大,网络的优化可能相对更重要些,比如sns 的web页面网游,可能不需要cdn,只需要双线,应该可以省一些网络成本。另外,峰值性能可能还不如峰值网络传输的优化重要。而且大家如果把服务器增加 到100台,才发现这样可能省50万,但根据经验,由于摩尔定律,这个50万可能会打个对折。与对应规模的网游的人员工资比起来,真的不算什么。所以,对于规模 尚小的网游开发团队而言,开发效率和开发质量是核心问题,对于测试,自动化脚本测试,以及动态部署,快速更新这方面,可能更需要引起重视。

浅谈小型网游服务器端技术架构成本分析相关推荐

  1. 浅谈3D网游引擎变迁史 看国产游戏引擎趋势

    玩家们在享受游戏带来的快乐时,其实很少想到游戏引擎到底发挥了多么重要的作用.无论是2D游戏还是3D游戏,游戏引擎都充当着游戏骨架的角色,没有游戏引擎就无法做出一款真正的游戏,通过游戏引擎制作者可以把画 ...

  2. 网游服务器通信架构设计

    随着网游从业者的规模和需求不断扩大,越来越多的朋友进入了网游开发这个领域,使得市场中网游开发技术相关的需求量迅猛增长.目前,网游行业比较紧缺的是具有较深技术功底的"专家型"开发者, ...

  3. 网游服务器通信架构的设计

    转自:http://www.cppblog.com/jack-wang/archive/2009/01/02/70963.aspx 随着网游从业者的规模和需求不断扩大,越来越多的朋友进入了网游开发这个 ...

  4. 浅谈网络游戏的设计——服务器端编程

    浅谈网络游戏的设计--服务器端编程 本游戏服务器端操作系统采用UNIX,因为UNIX是标准的服务器操作系统,可保证网络游戏的稳定性.因此,以下所有的编程都将针对UNIX进行. 服务器端的整体构架如下: ...

  5. 浅谈云计算和大数据技术

    浅谈云计算和大数据技术 背景: 随着计算机技术的发展,数据量日益增长,现有技术也很难满足业务的发展需求,在代码的层层迭代和优化之后,还是很难满足数据的增长需求,迫切需要一项新的技术来从事数据计算,因为 ...

  6. 浅谈存储重删压缩技术(一)

    浅谈存储重删压缩技术(一) 作为一个做企业存储市场的存储人,最近两年我不断被重删压缩撩拨着.对于重删压缩这个技术的好坏,真实需求还是伪需求大家看法不一.今天我就只能谈谈我个人的看法.更多观点请关注&q ...

  7. 《浅谈12306核心模型设计思路和架构设计》阅读有感

    <浅谈12306核心模型设计思路和架构设计>阅读有感 12306的业务复杂度远远比淘宝天猫这种电商网站要复杂.一般的电商网站,购买都是基于商品的概念,每个商品有一定量的库存,用户的购买行为 ...

  8. 浅谈用户密码保护与相关技术

    浅谈用户密码保护与相关技术(上) 一.  全文涉及 上篇:哈希,彩虹表 下篇:加盐加密,慢哈希,非对称加密与HTTPS 二.  主题引入 2011年12月21日,CSDN后台数据库被黑客恶意发布到互联 ...

  9. 浅谈GCC预编译头技术

    浅谈GCC预编译头技术 文/jorge --谨以此文,悼念我等待MinGW编译时逝去的那些时间. 其 实刚开始编程的时候,我是丝毫不重视编译速度之类的问题的,原因很简单,因为那时我用BASICA.后来 ...

最新文章

  1. 鸿蒙首个云网站,鸿蒙首个云平台服务全中国
  2. ORACLE分区表详解
  3. AndroidStudio中提示:This project uses AndroidX dependencies, but the ‘android.useAndroidX‘ property is
  4. 男生给女生最牛B的告白
  5. ssh免密登陆机制示意图
  6. 86-Spark2.2源码:RDD中WithScope是什么?
  7. java-不用辅助变量,两变量直接交换
  8. 【Java从0到架构师】SpringCloud - Eureka、Ribbon、Feign
  9. org.springframework.web.client.RestClientException: Could not extract response
  10. Win7电脑中毒解决过程复盘
  11. 数值优化-梯度下降法
  12. (原创)批处理学习小结
  13. 微信小程序引入阿里巴巴icon步骤及报错解决
  14. 基于马尔可夫随机场的深度估计
  15. Python 数据分析微专业课程--项目实战09 房价影响因素挖掘1.项目说明2.项目具体要求3.实现思路:4.实现过程:5.结论:
  16. 基于hi3531压缩YUV-D1 H264(sample_enc例子改写)
  17. 中奖名单模板_获奖名单公布模板速来选择
  18. sticky android,Sticky Warriors
  19. E - Stripies
  20. 【yoyo】类,对象,方法,属性,事件的定义

热门文章

  1. 【转】记一次Linux木马清除过程
  2. 人生不仅仅在于工作篇——交际能力的学习(一)
  3. 用友BIP智能财务,助力企业构建世界一流预算管理体系
  4. 【刷题】牛客网面试必刷TOP101
  5. 【人工智能 AI】机器学习教程:如何降低模型损失?迭代方法与梯度下降方法
  6. doophp 常用篇
  7. 卷积神经网络训练花卉识别分类器
  8. cmi计算机管理教学全称,计算机管理教学(CMI)的设计和进展.pdf
  9. vue3中 setup注意点
  10. u盘文件误删怎么恢复?简单几步就能解决