AI实践哪家强?来 AICon, 解锁技术前沿,探寻产业新机! 了解详情
写点什么

在 LinkedIn 的 Ruby on Rails 和 Node.js 对决

  • 2012-10-10
  • 本文字数:1197 字

    阅读完需:约 4 分钟

鉴于性能和可扩展性方面的原因,LinkedIn 前段时间将其移动设施的后台从 Ruby on Rails 替换成了 Node.js。LinkedIn 团队的一位前成员根据其自身的认识, 对此做出了回应并解释了问题的原委。

LinkedIn 移动工程部门的总监 Kiran Prasad 对 ArsTechnica 说,他们必须重新考虑为LinkedIn 客户移动设备提供服务的后台设施,原因在于尽管只有7-8% 的用户使用他们提供的移动应用程序,但Ruby on Rails 的后台就已经陷入可扩展性问题了。

LinkedIn 评估了三种可行的解决方案:Rails/Event Machine,Python/Twisted 以及 Node.js。按照 Prasad 的说法,Node.js 之所以最后被选中,是因为它提供了一些好处:

  • 更高的性能,在特定场景下 Node.js 能比 Rails 快 20 倍
  • 使用 3 个服务器而不是 30 个就能应对 10 倍的流量增长
  • 前端工程师能够进行后端代码的开发,两个团队实际上合二为一了。

LinkedIn 因为可扩展性舍弃 Rails 的事情在网络上引起了一些反响。LinkedIn 移动团队的一位成员 Ikai Lan 分享了在技术选择方面以及所面临的问题上的一些个人经历

我们选择的是 Ruby on Rails 1.2 版本而部署技术是 Mongrel 。别忘了,这是 2008 年。Mongrel 是 Ruby 的前沿技术。 Phusion Passenger 还没有发布(在此很久才发布的)而 Mongrel 比 FastCGI 早了很多很多年。Mongrel 的问题是什么?它是单线程的。它认为传输速度比 CPU 的效率更重要,这一点我认同。…我们使用 Capistrano 部署,并且是较早使用 nginx 的。…

(后来)我们升级到了 Rails 2.x+ … 并且使用 OAuth 来对 iPhone 客户端进行认证。基于 3-Legged OAuth,我们将 Rails 服务器转化成了 OAuth provider。为什么使用 3-legged OAuth?很简单:我们并不知道自己在做什么。我必须承认这一点。

为移动设备提供服务的服务器托管在 Joyent 上。所以按照 Lan 的说法,当移动应用需要信息时,请求要先发到 Joyent 上,然后再连接提供主 API 服务的 LinkedIn 数据中心:

伙计们,这是一个跨数据中心的请求。运行在单线程的 Rails 的服务器上(每个请求都会阻塞主程序),运行 Mongrel,内存泄露得像筛子(这主要是 gettext 的问题)。Rails 也做过一些事情,像翻译、将 XML 转换成 JSON,我们还在它上面测试了一些针对于移动设备的特性,但除此以外,它并没有做太多的事情。它仅仅比代理强一点。这个代理的最大并发数取决于我们运行了多少了单线程的 Mongrel 服务器。每个 Mongrel 经常要膨胀到 300Mb 的 RAM,所以我们不能大量运行它。

在指出了一系列问题后,Lan 最终承认“v8 确实相当快”但是他还说:“不要认为在构建下一项技术方案的时候必须用 node.js。在移动应用的服务器端,它确实是比 Ruby on Rails 更适合,但是它并不是性能的灵丹妙药。你正在比较的是一种较低级别的服务器和一种一站式的 web 框架。”

关于这个使用 Node.js 取代 Rails 的决定,Hacker News 上有很长的反响讨论

查看英文原文: Ruby on Rails vs. Node.js at LinkedIn

2012-10-10 21:126903

评论

发布
暂无评论
发现更多内容

轻量应用服务器看花眼?华为云耀云服务器L实例“闭眼”选准没错

轶天下事

挑战与机遇并存,华为云跨境电商新手入局必读指南来了

YG科技

快get2023年跨境电商出海指南,华为云教你把握快速捞金机遇

YG科技

基于 Letterize.js + Anime.js 实现炫酷文本特效

南城FE

CSS JavaScript 前端开发 动画 文字动画

mac外接显示屏,下方程序坞跑到外接显示器上,怎么拖回mac里呢?

Rose

Mac

小程序游戏风口有点“堵”?华为云耀云服务器L实例为企业疏难解困

YG科技

浪潮云蝉联中国云原生安全市场第一位

云安全

诚意满满 颠覆认知丨华为云这款轻量应用服务总能带来惊喜

平平无奇爱好科技

小程序开发还犯迷糊?快戳这份华为云实用技巧效率翻倍

YG科技

第27期 | GPTSecurity周报

云起无垠

MathWorks Matlab R2023b Mac报错 License Manager Error -8

Rose

数学软件 Matlab R2023b破解补丁 Matlab R2023b报错

物理机服务器优势

Geek_f19a80

服务器

还在烧钱买量?华为云这款轻量应用服务器让跨境电商生意不难做

轶天下事

Mac电脑批量重命名:A Better Finder Rename 12 免激活

胖墩儿不胖y

Mac软件 重命名工具 文件夹重命名软件

3D渲染和动画制作:KeyShot 2023 Pro最新注册机

Rose

3D渲染 动画制作 KeyShot Pro破解版 KeyShot Pro 2023下载 KeyShot Pro注册机

都快2024年了还在用传统服务器?试试华为云这款中小企业“上云”利器吧!

轶天下事

深谙数字化奥义,华为云耀云服务器L实例助企业行稳致远.

平平无奇爱好科技

推翻企业ERP管理“三座大山”,华为云耀云服务器L实例言出必行

平平无奇爱好科技

Programming Abstractions in C阅读笔记:p196

codists

面向线上的springboot开发框架-Aradin

liudaac

springboot SpringCloud Alibaba spring-cloud java框架 脚手架

当“996”开发模式都没用了,华为云这款轻量应用服务器才是终极答案

YG科技

推荐15个苹果Mac用户都说好用的应用软件

Rose

Mac软件 苹果电脑 装机必备

云上应用技术架构-LNMP应用

深蓝

如何快速配置一个新的SpringBoot项目

Lahm Chen

Spring Frame

轻量应用服务器购买清单,双11看华为云这篇文章就够了

轶天下事

职场“内卷”利器?华为云这款轻量应用服务器助力开发者效率翻倍

平平无奇爱好科技

数字化专精特新战略,华为云耀云服务器L实例全面赋能企业

平平无奇爱好科技

在LinkedIn的Ruby on Rails和Node.js对决_Ruby_Abel Avram_InfoQ精选文章