Pab*_* B. 30 ruby-on-rails event-driven eventmachine commonjs node.js
我将开发一个协作网站,其中一个功能将是实时更改的协作编辑.即,当两个或更多用户正在编辑同一个文档时,他们可以在发生时立即看到彼此的变化.我对Ruby on Rails有一些经验,所以我在考虑使用EventMachine,但是围绕Node.js的所有这些炒作,我知道考虑使用它.那么,使用Node.js而不是EventMachine的主要好处是什么?
tl; dr EventMachine和Node.js之间的主要区别是什么(除了语言)?
Phi*_*lak 72
EventMachine与Rails无关,除了它们都是用同一种语言编写的.您可以像Node.js一样使用EventMachine; 您所要做的就是不向您的项目添加库.根据我的经验,EventMachine库(如em-http)比Node的任何东西都要好得多.你可以使用光纤而不是回调来避免回调地狱.由于所有的回调,在Node中几乎不可能完成异常处理.Plus Ruby是一种比Javascript更好,更完整的语言.
Chr*_*ber 21
我倾向于"使用你所知道的"(即使它是一个更重的架构).因此,我认为它不像"EventMachine vs NodeJS"那么简单.主要是,差异可归纳为:
也就是说,可以克服技术问题.应该指导您做出决定的更重要的问题(我认为)是:
两者之间存在相当多的技术差异.一种是语言,一种是框架.真的,你想要运行的堆栈有多重?您的开发人员需要做多少学习?你想要一个完整的堆栈给你很多细节,你可能不会使用,或者你想要一个非常快速和并发运行的裸骨设置,即使你可能需要编写额外的锅炉板代码并学习新的语言?
虽然Rails并不像某些Web应用程序架构那么重,但您仍然需要比处理NodeJS中类似数量的吞吐量更多的处理器能力.假设两个系统的质量代码.写在任一堆栈上的错误代码将阻止堆栈闪亮.这真的归结为 - 你真的想学习一种全新的做事方式,或者利用你目前对Ruby的理解来快速实现目标吗?
我知道这不是一个明确的答案,但我希望这有助于指导您做出决定!
值得一提的是制作故事.EM与大多数Rack一样,有大量的测试和监控工具可供测试,而Node.js在这方面做得很差.
在撰写本文时,似乎几乎不可能从Node获得明确的指标来回答诸如"我是否需要扩展"之类的问题.Joyent这样的选择开始形成,并且总是自己动手论证,但NewRelic等工具附近没有任何选择.
Node.js的是从一个性能/配置性点非常好,但我个人不会在生产环境中托管它只是还没有.
| 归档时间: |
|
| 查看次数: |
13147 次 |
| 最近记录: |