2016-10-13 2 views
0

私は本番環境で公開され、定期的に機能としてアップデートされ、バグ修正が行われるwebappに取り組んでいます。実稼働環境で実行されているNodeJSを更新するプロセスは何ですか?

node app.jsのように実行してconfigをロードし、データベースに接続し、Webサーバーを起動します。

私は、次のバージョンを持っているときにアプリをアップデートするプロセスは何ですか? 私は、プロセスを終了して、アップデートとデプロイ後に起動しなければならないと思いますか?それは、いくつかのダウンタイムがあることを意味しますか?

少なくとも週/月間に統計情報を収集し、その期間に更新を適用する必要がありますか?あるいは、別のマシン上で現在のバージョンを開始し、すべての要求をそのマシンにリダイレクトし、メインのものを更新してから、元に戻す必要がありますか?

答えて

1

私は第2のアプローチが優れていると思います。

最初の1つはダウンタイムを防ぐものではなく、2番目のユーザーがダウンタイムをまったく起こさない間に、最小のユーザー数に影響を与えることを確認するだけです。

また、何らかの理由で新しいバージョンを元に戻す必要がある場合に備え、古いバージョンを他のマシンで実行しておいてください。その場合、ダウンタイムなしで古いノードにトラフィックをリダイレクトするだけで済みます。

また、本番環境を設定する場合は、「ノード」コマンドでプロセスを実行する代わりに、自動再起動やその他の高度な機能を実行するために、foreverまたはpm2のようなものを使用することをお勧めします。

関連する問題