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

你的可嚶已上線發表於2018-08-27

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

總結

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

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

Node.js 正迅速成為構建快速、可伸縮的 Web 和移動應用程式的最流行平臺之一。事實上,2017 Node.js 使用者調查顯示,目前網上有超過 700 萬個 Node.js 例項,四分之三的使用者計劃在未來 12 個月內增加對 Node.js 的使用。很容易發現原因:68% 的使用者認為 Node.js 提高了開發者的生產力,58% 的使用者認為 Node.js 降低了開發成本,50% 的使用者認為 Node.js 提高了應用程式的效能。

Node.js 日益成為應用程式開發的首選技術,對 Node.js 的專業開發者的需求也逐漸增加。儘管已有大量文章為我們描述了 Node.js 可以用來做什麼,開發者如何開始使用,以及它為什麼會成為世界上一些大公司核心伺服器的技術 —— 但實際上並沒有多少是為了幫助初學者或中級 Node.js 開發者提高他們目前的技術水平。到目前為止來說

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

我們認為,這是一個沒有得到應有關注度和專家見解的主題。在大多數情況下,釋出之後的過程比開發過程要長,影響也更大。這個階段還決定了 Node.js 應用程式在交付技術所承諾的業務價值方面是成功還是失敗。

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

具體來說,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前端後端區塊鏈產品設計人工智慧等領域,想要檢視更多優質譯文請持續關注 掘金翻譯計劃官方微博知乎專欄

相關文章