的當前最佳實踐我正在爲我們的Web應用程序的一小部分評估nodejs,看起來它很適合。我知道這個節點很年輕,行動很快,但它似乎最終變成了「準備生產」類別。然而,在網上搜索時,我在生產部署中看到的大部分信息已經過時了一年,並且仍然警告有關易碎節點的可能性,並可能意外出錯,然後再重新啓動一些解決方案。這本身並沒有讓我感到害怕,但似乎沒有正確的方法來將節點可靠地放在那裏。將節點生產部署到AWS
回答
cluster
似乎是一個不錯的選擇,雖然取決於您的操作系統它可能有負載平衡性能差。一個非常簡單的版本是這樣的:
var cluster = require('cluster')
if(cluster.isMaster) {
var i, worker, workers;
for(i = 0;i < numWorkers;i++) {
worker = cluster.fork();
workers[worker.process.pid] = worker;
}
cluster.on("exit", function(deadWorker) {
delete workers[deadWorker.process.pid];
worker = cluster.fork();
workers[worker.process.pid] = worker;
});
}
else {
//be a real server process
}
這是一個不錯的選擇,因爲它都讓你重新啓動死的過程一定的穩定性,併爲您共享加載多個進程。請注意,cluster
基本上會修改server.listen,以便工作人員都在監聽來自正在進行偵聽的主服務器的事件。這是「免費」負載平衡的來源。
Cluster文檔可以在這裏找到:http://nodejs.org/api/cluster.html
這也可能是值得擁有的主進程處理幾個信號,如果你希望能夠觸發某些事件,比如殺死並重新啓動所有的進程,或者殺死所有進程並關閉。
這被標記爲實驗。你有什麼經驗在生產中使用它? –
@RussellLeggett是的,我使用Trello(https://trello.com),它使用'cluster'的方式與此非常相似。我們已經使用了它一年多了,我們看到的唯一問題(使用'cluster')是我在文章中提到的負載平衡問題。 –
@RussellLeggett我相信「穩定性:實驗性」是指節點版本之間的API穩定性,而不是運行穩定性,但我可能是錯的。 –
我目前正在將node.js應用程序轉換爲高度可擴展的社交媒體應用程序的生產過程。要創建一個非平凡的部署解決方案,我正在使用AWS Elastic Beanstalk。節點AWS文檔可以在這裏找到[http://docs.aws.amazon.com/elasticbeanstalk/latest/dg/create_deploy_nodejs.html]。
我已經在我的測試環境中嘗試了這一點,雖然它可行,但它不是一個簡單或易於遵循的過程。特別是我在使用虛擬私有云進行配置時遇到了一些問題。另外,由於該服務有點新,所以沒有大量信息和故障排除建議可供免費使用 - 當然這可以通過購買亞馬遜的支持來解決。
的彈性魔豆部署確實出現爲您提供以下內容:
- 如果您有資格自由層的開發環境。
- 適用於節點應用程序和節點體系結構的可擴展的EC2部署。
- 跨環境的一致部署(即dev,test,uat,production)。
- 監測。
- 部署的重複性和自動化。
- 1. 將Docker容器部署到生產
- 2. 需要將MVC App部署到生產
- 3. git +部署到生產
- 4. ClickOnce部署到生產
- 5. 將.war部署到AWS
- 6. Dockerfile - 將MEAN部署到AWS
- 7. 將REST API部署到AWS
- 8. 將spark-jobserver部署到BlueMix Spark節點
- 9. 我應該將Glimpse部署到生產站點嗎?
- 10. kubernetes生產部署docker多節點還是ubuntu裸機?
- 11. Django生產部署
- 12. Node.js生產部署
- 13. IIS生產部署
- 14. 果園部分部署到生產
- 15. 防止部署到入口節點,只能部署到其他節點
- 16. 使用React on Rails將資產部署到生產
- 17. NodeJS/Express + HTTPS:如何將密鑰和證書部署到AWS EC2節點?
- 18. 如何部署reportportal到生產環境
- 19. 如何部署到生產webpack + Rails?
- 20. Excel Interop C#和部署到生產箱
- 21. Symfony2部署到生產使用Capistrano 3
- 22. 通過maven部署到生產
- 23. 從SVN部署代碼到生產
- 24. 部署更新到生產node.js代碼
- 25. 字體後部署到生產環境
- 26. Capistrano部署到舞臺和生產
- 27. 將ReactJS項目部署到AWS EC2
- 28. 如何將bot部署到AWS?
- 29. 如何將cloudfoundry部署到AWS?
- 30. 將Python應用程序部署到AWS
我也很想聽到這個消息。我聽說過永遠使用運行節點,但就是這樣。 –