[解決済み] ASP.NETアプリケーションをダウンタイムなしでデプロイする方法
2022-07-14 15:24:15
質問
私たちのウェブサイトの新しいバージョンをデプロイするために、次のことを行います。
- 新しいコードを Zip 形式で圧縮し、サーバーにアップロードします。
- ライブ サーバー上で、IIS ウェブサイト ディレクトリからすべてのライブ コードを削除します。
- 新しいコードの zip ファイルを、今は空の IIS ディレクトリに解凍します。
このプロセスはすべてスクリプト化されており、非常に迅速に行われますが、古いファイルが削除され、新しいファイルが展開されるときに、10 ~ 20 秒のダウンタイムが発生する可能性があります。
ダウンタイムが 0 秒の方法について何か提案はありますか?
どのように解決するのですか?
2台のサーバとロードバランサが必要です。以下、順を追って説明します。
- すべてのトラフィックをサーバー 2 で有効にする
- サーバー1にデプロイ
- サーバー 1 のテスト
- サーバー1のすべてのトラフィックをオンにする
- サーバー2にデプロイ
- サーバー 2 をテストする
- 両サーバーでトラフィックを回す
この場合であっても、"スティッキー セッションを使用している場合は、アプリケーションの再起動とセッションの損失が発生することになります。データベース セッションまたはステート サーバーがある場合は、すべてがうまくいくはずです。
関連
-
NET 6の新しい設定オブジェクトConfigurationManagerの紹介
-
.NET開発サーバー アプリケーション管理ツール
-
.NET 6における暗黙の名前空間参照
-
[解決済み] コンフィグエラーです。このコンフィギュレーションセクションは、このパスでは使用できません
-
403 - アクセス拒否。IIS7 でファイルを開くと、アクセス拒否されます。
-
[解決済み] ASP.NET WebサイトとASP.NET Webアプリケーションのどちらを選ぶか?
-
[解決済み] Razor View Page で名前空間をインポートするにはどうしたらいいですか?
-
[解決済み] Djangoでローカルと本番の設定を管理する方法とは?
-
[解決済み] IIS Expressのweb.configにMIMEマッピングを追加する
-
[解決済み] ASP.NET Web API - PUT & DELETE 動詞が許可されない - IIS 8
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
ASP.NET Core 6で依存関係を解決する3つの方法
-
.NET 6:.NETのロギングコンポーネントlog4netを使用する。
-
ネットのメモリ管理に関する5つの基本
-
.NET開発サーバー アプリケーション管理ツール
-
認証プロセスの記録にjwtを使用したネット
-
ネットパフォーマンスチューニング - ArrayPool 詳細
-
[解決済み] IIS 500.19 with 0x80070005 The requested page cannot be accessed because the related configuration data for the page is invalid error.
-
[解決済み】ASP.NET web.config: configSourceとファイル属性の比較
-
[解決済み] データ入力後に文字列をトリミングする最適な方法。モデルバインダーをカスタムで作成した方が良いですか?
-
[解決済み] パネルまたはPlaceHolderの使用