本帖最後由 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 先夠呢 |