[譯] 如何優化企業級規模的 Node.js 應用程序

總結html

Cisco (AppDynamics) 在今年的 APM 報告中排名第一。下載 Gartner 的 2018 Magic Quadrant 來了解更多的 APM前端

爲了發現優化、部署以及維護企業級 Node.js 應用程序的專家技術而獲取高級 Node.js 成功指南java

Node.js 正迅速成爲構建快速、可伸縮的 Web 和移動應用程序的最流行平臺之一。事實上,2017 Node.js 用戶調查顯示,目前網上有超過 700 萬個 Node.js 實例,四分之三的用戶計劃在將來 12 個月內增長對 Node.js 的使用。很容易發現緣由:68% 的用戶認爲 Node.js 提升了開發者的生產力,58% 的用戶認爲 Node.js 下降了開發成本,50% 的用戶認爲 Node.js 提升了應用程序的性能。node

Node.js 日益成爲應用程序開發的首選技術,對 Node.js 的專業開發者的需求也逐漸增長。儘管已有大量文章爲咱們描述了 Node.js 能夠用來作什麼,開發者如何開始使用,以及它爲何會成爲世界上一些大公司核心服務器的技術 —— 但實際上並無多少是爲了幫助初學者或中級 Node.js 開發者提升他們目前的技術水平。到目前爲止來講android

在咱們最新的 eBook 中,高級 Node.js:優化、部署以及維護企業級 Node.js 應用程序,咱們分享了 Node.js 的啓動和運行企業級產品、服務和品牌構建的高級技術。ios

咱們認爲,這是一個沒有獲得應有關注度和專家看法的主題。在大多數狀況下,發佈以後的過程比開發過程要長,影響也更大。這個階段還決定了 Node.js 應用程序在交付技術所承諾的業務價值方面是成功仍是失敗。git

EBook 爲 Node.js 成功上線的關鍵前三個月提供了一個實踐的成功基礎 —— 從預生產計劃到持續部署和測試的時間跨度。github

具體來講,eBook 爲如下每個關鍵點都提供了提示、技巧以及最佳實踐:後端

1. 爲產品發佈作準備:

在任何應用程序開發過程當中,準備發佈老是一個關鍵點,Node.js 項目也是如此。在問題影響你的部署過程、最終用戶或業務自己以前,這是你的團隊找到並修復問題的最後機會。安全

EBook 向用戶介紹了發佈前的過程,並重點強調了如下方面的內容:

  • 優化你的代碼
  • 異常處理的最佳實踐
  • 確保你的代碼符合安全要求
  • 配置生產環境
  • 部署的注意事項

當涉及到代碼優化時,eBook 中詳細描述預生產前的最佳實踐中有一個名爲 「linting.」 的過程。這須要經過代碼庫運行一個自動化的代碼質量工具 —— 好比 ESLint 或者 JShint。它一般只涉及很是基礎的質量問題,但重點是:在將應用程序置於危險狀況以前,它能夠捕捉到可避免的 —— 並且很是容易修復的 error。

2.部署 Node.js 後的首個 24 小時

在介紹完有效預生產前的工做流的基本原理後,咱們接下來將看到在部署後的最初 24 小時內所指望的是什麼,以及如何作出響應。

部署企業級應用程序可能使人痛苦。畢竟,XebiaLabs 的應用程序發佈自動化調查趨勢顯示,接近 30% 的應用程序部署失敗。同時,自動化運維、持續交付以及應用程序自動化發佈調查趨勢顯示,77% 的組織存在然間生產發佈的問題。顯然,任何負責部署應用程序的人都應該爲出錯作好準備 —— 多是常常性或偶爾發生的錯誤。

雖然健壯的預生產過程能夠幫助最小化 bug、配置失敗和其餘可避免問題的影響,但專業 Node.js 開發者應該瞭解如何定位常見的「第一天」部署問題 —— 尤爲是那些致使奔潰或高影響的問題。

在最初的 24 小時內可能會出現的典型問題包括:

  • Node.js 進程崩潰
  • 超出 API 的調用頻率限制
  • 解決 WebSocket 問題
  • 依賴問題
  • 文件上傳問題
  • DDoS 攻擊

除了第一天會出現的這些問題(也會有驚喜)以外還有好消息,就是你會學到更多關於構建更好 Node.js 應用程序,以及如何經過產生最少的部署問題來部署應用程序。儘管之後還會發生問題,但真正嚴重的問題會愈來愈少。

更好的消息是,一旦你有效地解決了第一天的問題,你之後就會處理一個更穩定和更可靠的應用程序。這反過來讓你能夠專一於如何提升應用程序的性能,以及如何升級本身的構建、測試和部署 Node.js 應用程序的流程。

3. 持續管理

已經成功部署後,eBook 的最後一章關注 Node.js 應用程序的持續管理。儘管這與任何其餘應用程序的發佈過程沒有什麼不一樣,但你仍是應該注意如下一些細節:

  • 內存泄露
  • 管理 Node.js 的併發性
  • 監控

正如咱們在 eBook 中討論的那樣,應用程序性能監控(APM)對於維護應用程序部署的穩定性和檢測可能致使應用程序降速或完全失敗(若是不進行檢查)的敏感迴歸相當重要。APM 解決方案就像 AppDynamics 能夠提供對應用程序行爲終端對終端的瞭解,併爲 Node.js 堆棧提供特定的監視功能。

獲取指南

在咱們最新的 eBook 高級 Node.js:優化、部署以及維護企業級 Node.js 應用程序中能夠閱讀到有關部署和管理你的應用程序的全部最佳實踐。

下載 Forrester 報告來了解你能夠指望從 AppDynamics APM 及其與 Cisco 技術集成中節省的成本和業務利益。

若是發現譯文存在錯誤或其餘須要改進的地方,歡迎到 掘金翻譯計劃 對譯文進行修改並 PR,也可得到相應獎勵積分。文章開頭的 本文永久連接 即爲本文在 GitHub 上的 MarkDown 連接。


掘金翻譯計劃 是一個翻譯優質互聯網技術文章的社區,文章來源爲 掘金 上的英文分享文章。內容覆蓋 AndroidiOS前端後端區塊鏈產品設計人工智能等領域,想要查看更多優質譯文請持續關注 掘金翻譯計劃官方微博知乎專欄

相關文章
相關標籤/搜索