意図的にAzureの役割をクラッシュさせるにはどうすればいいですか?

StackOverflow https://stackoverflow.com/questions/6095580

  •  09-09-2020
  •  | 
  •  

質問

私は耐降伏性としてのWindows Azureアプリケーションをできるだけ耐性として作りたいと思います。

私は乱数を取得し、かなり低い確率でクラッシュすることを決定する役割にコード権を挿入できると思います。本当の問題は

です
if( isTimeToCrash() ) {
   //what exactly do I do here?
}
.

役割をクラッシュさせる方法私が時間だと決めたら、

意図的にAzureの役割を確実にクラッシュするのですか?

役に立ちましたか?

解決

マシンにRDPを使用するか、スタートアップタスクを使用して、定期的に 'WAPAPAGENT'プロセスを強制終了する予定のタスクを追加することができます。PowerShellはここではかなり良いですプロセスを見つけて殺す。あなたはそれをするために管理者になる必要があります。これは、プロセスを回復して再起動するまで、ファブリックコントローラとの通信を一定期間切断します。IIRC、それはまたあなたのロールエントリポイントコードを殺すでしょう(WawebhostまたはWaworkerHostのどちらかで実行中)。それはかなり大きな失敗をシミュレートします。

本当に派手に入りたい場合は、キューを聴取するバックグラウンドスタートアップタスクを実行し、キューメッセージを表示するとプロセスオンデマンドを強制終了します。注意事項は、このコードをRoleSentryPointに入れることはできません。

他のヒント

役割をクラッシュすることについてはわかりませんが、役割管理APIを使用することができます役割を再起動する。あなたはこのサンプル

ワーカーロールの場合は、実行()から例外をスローして未処理に行くことができます。しかし、それがあなたの資格を「クラッシュ」として満たすかどうかわかりません - 役割は正常にリサイクルされます。

私たちはIIS経由で未処理の例外を捉える傾向があるので、ダンニリーの提案はおそらくあなたが探しているASOD(死のAzureスクリーン)に非常に近づいています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top