2017-06-04 71 views
0

我有一個Nodejs應用程序,其中包含集羣以進行錯誤處理的正常運行時間和域。零宕機時間部署Nodejs應用程序

現在爲了實現零宕機部署,我有一條指令,但我需要幫助將此指令轉換爲Nodejs代碼(我需要一個示例)。

這是指令:

  1. 當主機啓動,給它一個符號鏈接到工作代碼。
  2. 部署新代碼後,更新符號鏈接
  3. 向master發送信號:fork new workers! Mater告訴老工人關閉,從新代碼中分出新的工人。
  4. 母校過程永遠不會停止運行

Instruction source - >幻燈片編號39

+0

另一種方法,您可能需要檢查https://www.chrismoos.com/2016/09/28/zero-downtime-deployments-kubernetes/我已經在生產中遵循此設置並且工作得很好。不完全是你需要的,只是要記住。 –

+0

謝謝,但它遠比我的目的! –

回答

0

對於100%的正常運行時間在路上或多或少相同的,無論您使用的語言:

  • 將會話令牌存儲在數據庫中而不是內存數組或其他內容中。這將允許用戶在交換版本後保持登錄狀態。

  • 運行服務器泊塢窗容器

  • 使用代理內部的處理交換容器時,你需要運行一個新的服務器版本。

我寫easy-deploy來處理這個問題,這樣我就不用擔心每次都設置代理了。

部署版本1

easy-deploy -p 80:80 -v some/path:other/path my-image:1 

要部署一個新的版本,只是更新的標籤名稱

easy-deploy -p 80:80 -v some/path:other/path my-image:2 

代理的照顧運行命令。 my-image:1將被替換爲my-image:2而不會讓任何請求下降。

相關問題