ruby-on-rails – 选择Ruby on Rails作为基于浏览器的在线游戏的平台

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – 选择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的关注点,而是更多的持久性策略. Rubyist倾向于喜欢新事物,所以你会发现redis和mongodb之类的一流支持,有很多人在谈论使用它们和他们的胜利/陷阱.如果我是你,我会调查mongo,看看是否可以接受耐久性权衡.

在进入rails之前我在java / .net中,并且在一天结束时你将为基础设施支付更多费用,但是在开发时间节省的金额将完全相形见绌.

猜你在找的Ruby相关文章