Emi*_*äck 9 ruby ruby-on-rails
对于类似Travian的在线策略游戏,我有一些(我认为)非常好的想法.我还有一些内容尚未找到,还有一些我还不知道的其他挑战.
这是一个非常大的项目,对于一个不是熟练的Web开发人员的人来说可能太重了.我还是想尝试一下,但是我在选择平台时遇到了麻烦.世界"尺度"最近被抛到了很多地方,我看到Ruby on Rails因为它不能很好地扩展而受到抨击,所以我来这里得到一些答案.
我喜欢Ruby on Rails,Ruby和Rails.我当然不是专家,但我喜欢与它合作.我之前也使用过Python + Django以及PHP(我不喜欢它).
理想情况下,游戏将拥有每台服务器7000个玩家,可能每秒要处理大量数据.RoR仍然是一个可行的平台吗?
如果这个问题含糊不清,我很抱歉,我想我正在寻找"RoR很好,去吧!" 那种答案.你想要添加的任何东西都可以.
谢谢!
所以如果我是你,我会研究像node.js这样的非阻塞服务器,因为它们更适合于长时间保持许多连接打开,这是游戏需要做的事情,与传统的网络相比服务器.
话虽如此
在扩展Web应用程序时,有三个主要问题需要担心; 内存,执行速度和io(高清和网络)的顺序.
对于记忆来说,事情比以前好多了.Phusion Passenger在写入时使用copy来分叉其worker,因此rails环境将在给定切片上的所有worker之间共享,这非常重要.与"黑暗时代"相比,ruby管理内存的方式也有了很大的改进,如果你使用的是1.8.7那么你想要使用组成Ruby Enterprise Edition的补丁(区别就像白天和黑夜) .1.9.x几乎完全重写了运行时,所以如果你正在使用ruby已经解决的内存问题.
对于执行速度,1.8.7通常"足够快"(至少在调整垃圾收集设置之后).1.9.2实际上与python的速度大致相同,这使得它在解释语言的速度更快.这一点的重要性完全取决于应用程序的性质.
最后一点是IO,这不是rails的关注点,而是更多的持久性策略.Ruby开发者往往喜欢新的东西,所以你会发现喜欢的事情的Redis和MongoDB一流的服务,与人谈论使用他们和他们的胜/陷阱负荷.如果我是你,我会调查mongo,看看是否可以接受耐久性权衡.
我是在Java/.NET睡前轨道,并在你要付出更多的基础设施一天结束,但数量将完全由相形见绌您在开发时间保存的东西.
在Rails中构建它,在Heroku.com上托管它 - 完成工作.几乎无限扩展,您不必担心它是如何工作的(它只是这样)并且它托管了许多高度流量的Facebook应用程序,因此可以处理它.
| 归档时间: |
|
| 查看次数: |
9653 次 |
| 最近记录: |