成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

為何我們要從Node.JS遷移到Ruby on Rails

開發(fā) 后端 前端
這篇文章絕不是一篇討論 NodeJS 和 Ruby on Rails 孰優(yōu)孰略的檄文。它描述的只是我們做決策過程中的一些思考、決策背后的原因。兩種框架都非常優(yōu)秀,都出色的完成了它們的設(shè)計初衷,這也是為什么我們部分的模塊仍然運行在NodeJS上的原因。

聲明:這篇文章絕不是一篇討論Node.JS和Ruby on Rails孰優(yōu)孰略的檄文。它描述的只是我們做決策過程中的一些思考、決策背后的原因。兩種框架都非常優(yōu)秀,都出色的完成了它們的設(shè)計初衷,這也是為什么我們部分的模塊仍然運行在Node.JS上的原因。

我是Node.JS的大粉絲,認為這是一項讓人非常興奮的技術(shù),相信它會變的越來越流行。我對這項技術(shù)非常的欣賞——盡管我們最近把Targeter App從Node.JS遷移到了Ruby on Rails。

我們當(dāng)時使用Node.JS開發(fā)它的原因很簡單。我有一個程序包,能很快的將我們的應(yīng)用弄上線(我們花了54小時做這個事情),相比起Ruby,我更常使用的是JavaScript。因為我們的技術(shù)架構(gòu)牽涉到MongoDB,我的這些特長只有在Node.JS環(huán)境里才會有意義。然而,隨著應(yīng)用規(guī)模的增長,我認識到,選擇Node.JS來實現(xiàn)這個應(yīng)用是個錯誤的選擇。下面讓我來概述一下其中的原因。

Node.JS很適合做那些有大量短生命期請求的應(yīng)用。對于傳統(tǒng)的CRUD應(yīng)用,它也很好,但不是非常的理想。在PHP,Ruby,Python語言里都有很成熟、優(yōu)化的很好的框架來處理這種應(yīng)用。Node.JS里的所有東西都異步執(zhí)行的理念對于CRUD應(yīng)用來說沒有任何效果。其它語言里的流行的框架能提供非常好的緩存技術(shù),你所有的需求都能滿足,包括異步執(zhí)行。

Node.JS是一種非常年輕的技術(shù)框架,它的周邊程序庫都不是很成熟。我說這些并沒有任何對那些代碼捐贈者冒犯的意思,他們很優(yōu)秀,開發(fā)出來很多優(yōu)秀的程序庫。然而,大部分程序庫需要改進,而Node.JS的這種快速成長的環(huán)境意味著每一版升級中都帶有大量的變化;當(dāng)你使用一種前沿技術(shù)時,你十分有必要盡快的緊跟***的版本。這給創(chuàng)業(yè)型的企業(yè)帶來了很多的麻煩。

另外一個原因是關(guān)于測試。Node.JS里的測試框架還不錯,但跟Django或RoR平臺上的相比還是差一些。對于一個每天都有大量的代碼提交、并且在一兩天內(nèi)就要發(fā)布的應(yīng)用來說,程序不能出問題是至關(guān)重要的,否則你為此辛苦的努力變得得不償失。沒有人愿意花一天的時間改一些***的bug。

***一點,我們需要的是一種能緩存一切的東西,并且要盡快的實現(xiàn)。盡管我們的應(yīng)用在增長,每秒鐘有上萬次的hits,但絕不會出現(xiàn)很大量的訪問請求;這不是一個聊天程序!主程序最多時也就達到1000RPS,這樣的負載對于Ruby on Rails和Nginx來說算不了什么。

如果你現(xiàn)在還在讀這篇文章,那你已經(jīng)看到了我所有要說的了,你也許非常堅持的想知道我們的應(yīng)用什么地方還在使用Node.JS。是這樣的,我們的應(yīng)用由兩部分組成。一是界面,用戶看到的這部分,二是負責(zé)報表管理的部分,以及做日志的功能。后者是Node.JS的一個***使用場景,存在有大量的短周期的請求。這部分的動作需要盡快的執(zhí)行完成,甚至要在我們的數(shù)據(jù)推送還沒有完成之前。這很重要,當(dāng)請求執(zhí)行還未結(jié)束,瀏覽器繼續(xù)等待響應(yīng)結(jié)束,這會影響用戶使用體驗。Node.JS的異步特性救了我們。數(shù)據(jù)要么被存入數(shù)據(jù)庫,要么被處理掉,當(dāng)請求一旦執(zhí)行完成,瀏覽器就可以開始做其它重要的事情了。

英文原文:Why we moved from Node.JS to RoR

本文轉(zhuǎn)自:http://www.aqee.net/why-we-moved-from-Node.JS-to-ror/

責(zé)任編輯:林師授 來源: 外刊IT評論
相關(guān)推薦

2020-03-12 08:00:34

MySQL遷移TiDB

2020-10-13 09:25:27

ESClickHouse搜索引擎

2017-11-29 14:48:01

Node.JSRails語言

2025-01-03 09:12:11

2020-04-20 08:08:23

MongoDBElasticsear數(shù)據(jù)庫

2021-01-25 07:40:37

Druid數(shù)據(jù)eBay

2024-03-29 09:13:58

MochaNode.js測試

2011-04-25 09:35:31

TwitterJava

2024-03-29 08:32:01

Node.jsNext.js組件

2013-11-01 09:34:56

Node.js技術(shù)

2015-03-10 10:59:18

Node.js開發(fā)指南基礎(chǔ)介紹

2016-10-26 16:44:44

WatchfinderAWS云計算

2021-08-07 07:56:59

Node邏輯對象

2021-11-29 09:44:03

UmiJSVite前端

2011-09-08 13:46:14

node.js

2011-11-01 10:30:36

Node.js

2011-09-02 14:47:48

Node

2011-09-09 14:23:13

Node.js

2020-04-28 22:43:48

反向代理Node.js PHP

2009-08-27 10:21:22

Ruby on Rai
點贊
收藏

51CTO技術(shù)棧公眾號

主站蜘蛛池模板: 韩日一区二区三区 | 美日韩视频 | 超碰免费在线观看 | 国产免费一区二区三区最新6 | 国产成人精品午夜视频免费 | 日韩欧美视频免费在线观看 | 欧美a级成人淫片免费看 | www在线视频 | av在线播放一区二区 | 久久久久久影院 | 久久精品久久综合 | 91精品久久久久久久久中文字幕 | 自拍视频国产 | 99久久精品视频免费 | 成人99| av毛片 | 国产精品久久久久久久久久三级 | 久久精品欧美一区二区三区麻豆 | 久久久久久久久国产 | 精品九九 | 欧美一级二级视频 | 国产精品久久久久久久久久免费看 | 日韩精品二区 | 国产a级黄色录像 | 美女爽到呻吟久久久久 | 黄色大片在线 | 成人久久久 | 欧美一区二区三区在线 | 亚洲精品黄色 | 欧美二三区 | 高清国产一区二区 | 国产精品天堂 | 日韩一区二区三区在线播放 | 欧美亚洲日本 | 久久久蜜桃一区二区人 | 欧美性猛交一区二区三区精品 | 色伊人网| 精品在线一区 | 日韩av看片 | 毛片毛片毛片毛片 | 久草视频2 |