社交游戏,使用node.js开发服务器端,求指点。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
blackgun
V2EX    Node.js

社交游戏,使用node.js开发服务器端,求指点。

  •  
  •   blackgun 2012-12-30 13:28:10 +08:00 5243 次点击
    这是一个创建于 4734 天前的主题,其中的信息可能已经有所发展或是发生改变。
    以前只用过LAMP, 被Node.js和Pomelo所吸引,但一无所知。
    异步交互和实时同步各半。客户端为AS3

    是否要自己做session管理,用什么样的数据库,Redis,MangoDB哪个更好些,开发效率如何,心里没底。

    请过来人指教,谢谢啦
    7 条回复    1970-01-01 08:00:00 +08:00
    pepsin
        1
    pepsin  
       2012-12-30 13:46:28 +08:00
    http://zef.me/4235/pick-your-battles

    先看看这文章再做决定
    blackgun
        2
    blackgun  
    OP
       2012-12-30 14:49:00 +08:00
    @pepsin,此文很好,很有警示作用。我最近被Cocos2D-x整得半残,iOS上勉强挺过来,NDK+JNI下挂了。越发感觉AS3好啊,成熟的基础上还不断往先进靠拢。

    数据库还是继续用MySQL好了,个别功能如chat小范围尝试Node.js,出错损失不大。
    再请问RoR算成熟技术吗?在RoR和PHP之间选哪个好些?RoR没用过,PHP也很粗浅,所以学习成本差别不大,还请指点。
    pepsin
        3
    pepsin  
       2012-12-30 19:14:18 +08:00
    @blackgun RoR成熟得快焦掉了,我就是RoR程序员,几乎什么错误随便搜搜StackOverFlow上都有答案。官方的Guide也很友好。

    但是有一点很重要,你Ruby得懂,因为很多Gem也就是依赖包文档注释很简要,一般出了查不到的问题都是习惯直接看源码,你如果是不懂Ruby那麻烦就很大。

    还是拿自己最熟的技术用吧,觉得好的技术拿来做点demo或者内部用的一些工具,确定做烂了再拿来用在生产环境吧。
    Numbcoder
        4
    Numbcoder  
       2012-12-30 20:30:48 +08:00
    感谢关注 Pomelo
    Pomelo 就是为游戏开发而创造。有任何问题可以去 github 提 issue

    Rails 最适合最传统 Web 应用。做游戏服务端的话,在并发性能上可能会些有问题。

    数据库的话,用你最熟悉的把。
    blackgun
        5
    blackgun  
    OP
       2012-12-31 02:05:06 +08:00
    感谢回复。

    除了技术本身需要成熟之外,我感觉社区是最重要的,在开发过程中哪有没有问题的时候,用什么技术都会碰到各种问题,关键是社区能否给予足够的支持,我以前用过一些个人开发的引擎,虽然不成熟,但是社区和作者支持很好,开发就很舒服,反之一些大公司的框架,社区支持很差,开发就痛苦。

    另外我目前最大的问题是开发资源非常紧张,前后端都是我一个人开发,因此对开发效率的要求就很高,这包括:周边基础库的数量和质量,是否有成熟框架,代码写作量,调试是否给力。

    如果只是一般的站点系统的话,用LAMP基本符合上述要求,对于我当先的异步社交游戏来说,实时性的要求不是很高(类似于棋牌那种节奏,甚至更慢),后台逻辑和功能都比较简单,PHP完全可以胜任,但是所有场景数据都在数据库,因此本质上最后的压力还是在数据库上。也许这个问题的焦点应该是谈数据库。

    MySQL的挑战:1)扩容,2)并发能力。一台服务器几千人在线是很常见的,而且读写操作是1:1,非用MySQL也不是不能做,但是游戏应用对SQL的使用量很小,基本都在数据分析层面,生产服务层面高速的Key-Value方式是最好的,因此Redis等NoSQL非常符合这种case,因而希望跳出PHP+MySQL的小圈子,不是为了技术而技术,而是感觉有更符合我这种情况的方案。请指教
    blackgun
        6
    blackgun  
    OP
       2012-12-31 05:30:55 +08:00
    @Numbcoder, 有个问题是Pomelo提供了js,iOS,等客户端库,我使用AS3如何跟服务器端通信呢?我如果直接用socket通信的话,自带的功能就没有了,比如session。另外没有看到持久化是如何处理的。
    Numbcoder
        7
    Numbcoder  
       2012-12-31 14:30:22 +08:00
    @blackgun 有个demo 里用到的是 mysql 做持久化的。flash 客户端的话目前是没有,在开发计划中。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     5264 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 35ms UTC 07:52 PVG 15:52 LAX 23:52 JFK 02:52
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86