本帖最後由 hihihi123hk 於 2015-10-28 04:58 編輯
其實外國好多中大型企業都用左nodejs 好耐,不過唔係replace 現有既system, 通常做microservice 去輔助,比 ...
lancon 發表於 2015-10-27 23:58

無錯,係呢度講 一個 Project 用幾個 Language 好似天方夜譚咁

好多人仲以為 一個 System 做哂所有功能就最好.... 呢個年代已經唔一定係最好,各個 工具各有長處,要做到真正 Scalable 一定係行 Micro-service , 用盡各個工具嘅長處,不過呢度又會有人覺得天方夜譚

講得實在啲

NodeJs Serve All Client Request
《-》
Message Queue as a bridge
《-》
Any (ie Java, Scala , C++, Erlang , ocaml ...) Backend ( Process intensive Task)


5 隻 Nodejs Instance serve 10k Request/s enqueue message to mq, wait reply

1 隻 Message Queue (mq)

後面著 100隻 Java Backend dequeue mq, process and reply

假設平均 1隻 Backend Avg. handle 100 Message /s ,每個 Message process 要 400ms

計埋 call mq latency 5ms , 行完成個 round trip 大約 400+5*4 = ~420ms

再癲啲
Message A 用 C++ backend dequeue
Message B 用 Java backend dequeue
Message C 用 Ocaml  backend dequeue
有乜問題?

大家各司其職,Backend 隨時加機減機無問題,用埋 AWS  寫條Script 每日 Peak hour 自動加 Spot instance ,過左之後自動關機,減低成本

無錯,係香港又係天方夜譚?

定係買一部機 32核 384GB RAM 放係 Data center 再租條 40Gbps 大水喉咁咪得囉~?

我只係想表達,或許你已經好多年經驗,Java .NET Oracle係專家,又或者曾經係香港某幾間大公司做過,亦未見過我以上講嘅做法,但唔都代表無大公司用緊以上類近嘅做法

參考下 兩年前嘅Post ,https://strongloop.com/strongblo ... y-and-productivity/
The list of companies using Node.js in production who spoke at Node Summit inluded: Splunk, Walmart, Voxer, Paypal, GoDaddy, Groupon, LinkedIn, PayPal, eBay, Yahoo, Oracle, Microsoft, HBO, NPR, DirecTV, Pearson, Conde Nast, MasterCard, Creative Artists Agency, Adobe, Mozilla and more

總括黎講,用 Nodejs 做 Web Application 係極度高效率,無人講過用一隻 Nodejs 取代哂所有野,可能Nodejs 只係擋係 Web User 前面 處理 Http request 、Websocket conn 之後將佢射比其它App 處理等 Response, 什麼 Oracle Orm 完全唔需要 ,正如我所講,之後點搭乜都得

所以並非 「19公司至會用 Nodejs」 Nodejs 勢如破竹,講笑咁講,依你口吻或者幾年後可能改口變成「19公司至用Java 做Web App」

題外話據前人測試一部 1GB RAM 嘅 Nodejs Instance 可以 Serve 10k+ request/s,  唔知 Java/PHP 嘅 Thread-based model 要幾多 Ram 先夠呢

TOP

本帖最後由 lancon 於 2015-10-28 08:25 編輯

回覆 41# hihihi123hk


同意Ching講法。
"NodeJS" 之所以叫 Node, 就係因為你可以用好多個node呢做sub-system, 然後每一個node都可以獨立執行,同只針對某種任務,再用網路互聯。

Web 做 distribution system 係趨勢,尤其係大型系統, nodejs十分有優勢,因為真係好lightweight, 又冇咁OS / hardware dependent

傳統monolithic 一大舊系統好難做到有效既scalable system,又唔夠flexible, 又難做continuous integration, 又難maintain。做microservice 可以唔一定用nodejs, 不過可以mix好多唔同programming language 同 databases,開發又快又容易

Node 仲有一個優勢係可以用同一種JavaScript,可以係server同client 上面行,做isomorphic(例如react.js 同 angular 2)

TOP

提示: 作者被禁止或刪除 內容自動屏蔽

TOP

本帖最後由 hihihi123hk 於 2015-10-28 12:03 編輯
回覆  hihihi123hk

咁你只係用nodejs 做proxy , anyway, 大家其實仲意用乜都得. 不過現實(hk)大 ...
undplayer 發表於 2015-10-28 09:16



    要淨 Proxy 緊係用 Nginx , Nodejs 做到嘅當然係 More than Proxy

例如 Nodejs 做 Auth / Verify Input/  Render HTML or API response /少少 Bussiness Logic 呢類 light task 好 Efficient

如果你 睇唔通 MicroService 同 Single Large App 有咩唔同,可以望下呢幅圖


ref :Microservices from Theory to Practice- Creating Applications in IBM Bluemix Using the Microservices Approach

有興趣可以望下 2.2.2 Choosing the implementation stack ,入面咁岩有我提到嘅 Nodejs + Java Backend


如果間公司有老屎忽乜都唔識又擔住大旗,早啲係 Jobsdb 搵過份,早走早著吧
附件: 您需要登錄才可以下載或查看附件。沒有帳號?註冊

TOP

回覆 43# undplayer


    有人簡單解釋左node.js 個底層係點運作.
https://www.future-processing.pl ... threads-in-node-js/

背景資料,
node.js 係v8 engine做javascript interpret ,   single thread.
libuv幫手做asynchronous I/O ,   底層黎講所有asynchronous operation其實都係由固定數量既thread 運行(default 係4條)

我理解node.js 本身跟本就係proxy, 所有基本IO module (ex. http module)  都係c++ program.  
由javascript interpreter 去叫呢d   c++ program 運作

有錯請插

TOP

提示: 作者被禁止或刪除 內容自動屏蔽

TOP

回覆 46# undplayer


咁有趣?乜野係北移因素?

眼見大陸比香港台灣更擁抱新技術。

新野當然唔一定係最好,只不過因為現有既技術唔完美,已經唔能夠fulfill新既environment既需要, 先所以要試新方法同技術。管理營商既野每日都在變,唔積極upgrade 技術去配合,就會比其他人領先而失勢。
學下新野百利而無一害。

TOP

提示: 作者被禁止或刪除 內容自動屏蔽

TOP

回覆 28# undplayer

其實, 香港個環境,如果金融唔係你杯茶, 必然是貿易.

如果以全世界而言, 香港進出口貿易公司數目(102249,當中包括小型公司)除以地區面積(1200平方公里)(來源:http://hong-kong-economy-researc ... NJK&LANGUAGE=tc). 該比例可能是全球五名之內.

大部份人知道$$, 但不是好多人知道漏洞, 過時如何影響$$.

TOP

回覆 48# undplayer


    大陸人如果出十成功力我就唔知,
現時我用過的大陸出品就真係 垃圾
寫完paypal payment gateway,  無論幾困難多好,  
寫支付寶payment gateway 果陣就知寫paypal 幾幸福.
document 又少又唔詳盡.
api又少過人.

諗住淘寶thermal printer.代替star, epson呢d貴野,
點知個sdk 又係一舊屎咁, 問個support team 又9唔搭8, 問多兩問唔應人

技術可能真係有既, 但係質素就

TOP