AzureプラットフォームがWebロールインスタンスの1つをシャットダウンすることを決定した場合、それはどのように達成されますか?
たとえば、新しいリクエストの送信を停止しますが、既存のリクエストは完了できますか?日常のメンテナンスのためにアクティブな接続を終了するだけだとは想像できません。それは非常に破壊的で費用がかかるでしょう。
この小さなブラックボックスについての洞察は、特にこれに関連するMSDNまたはAzureCATのリンクを知っている場合は素晴らしいでしょう。
AzureプラットフォームがWebロールインスタンスの1つをシャットダウンすることを決定した場合、それはどのように達成されますか?
たとえば、新しいリクエストの送信を停止しますが、既存のリクエストは完了できますか?日常のメンテナンスのためにアクティブな接続を終了するだけだとは想像できません。それは非常に破壊的で費用がかかるでしょう。
この小さなブラックボックスについての洞察は、特にこれに関連するMSDNまたはAzureCATのリンクを知っている場合は素晴らしいでしょう。
ファブリックコントローラーはインスタンスをロードバランサーから削除するため、新しいリクエストを受信しません。次に、クリーンシャットダウンシーケンスに進み、最初に通常のライフサイクルを通じてASP.NETをシャットダウンし(アプリケーションが統合モードで実行されているかクラシックモードで実行されているかによって異なる場合があります)、要求が終了するのを待ちます(最大でshutdownTimeLimitプロパティで指定された期間)、次にRoleEnvironment.Stoppingイベントを発生させ、クリーンアップのためにロールのOnStopメソッドを呼び出します。最後に、ジョブオブジェクトは終了します。
参照: