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

2012-12-30 13:28:10 +08:00
 blackgun
以前只用过LAMP, 被Node.js和Pomelo所吸引,但一无所知。
异步交互和实时同步各半。客户端为AS3

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

请过来人指教,谢谢啦
4538 次点击
所在节点    Node.js
7 条回复
pepsin
2012-12-30 13:46:28 +08:00
http://zef.me/4235/pick-your-battles

先看看这文章再做决定
blackgun
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
2012-12-30 19:14:18 +08:00
@blackgun RoR成熟得快焦掉了,我就是RoR程序员,几乎什么错误随便搜搜StackOverFlow上都有答案。官方的Guide也很友好。

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

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

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

数据库的话,用你最熟悉的把。
blackgun
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
2012-12-31 05:30:55 +08:00
@Numbcoder, 有个问题是Pomelo提供了js,iOS,等客户端库,我使用AS3如何跟服务器端通信呢?我如果直接用socket通信的话,自带的功能就没有了,比如session。另外没有看到持久化是如何处理的。
Numbcoder
2012-12-31 14:30:22 +08:00
@blackgun 有个demo 里用到的是 mysql 做持久化的。flash 客户端的话目前是没有,在开发计划中。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/56213

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX