カオスミドルウェア:弾力性を改善するためのDjangoアプリケーションにおける混乱
5747 ワード
弾力性は、今日ソフトウェアのキーです.それはあなたのアプリケーションの信頼性に貢献し、主要な役割を果たすcompetitive advantage of your business . 弾力的なアプリケーションは、スマートにタイムアウト、遅れと不完全なサービス反応を取り扱うソフトウェアパターンの強さを利用します.
偉大な作家やプレゼンターのようなUwe Friedrichsen and Donald Firesmith 共有のアイデアや弾力性のあるソフトウェア設計についての知識.そのような記事は、破壊を克服して、ハンサムな方法でアプリケーション弾力性を改善するソフトウェアパターンについて説明します.
しかし、レジリエンスパターンを展開すると、開発者として実装を検証する必要があります.検証の地面に触れると、物事は難しくなるようだ.
カオスエンジニアリングツールは、仮想マシンを停止したり、Kubernetesクラスタのポッドを終了するような機能を広告します.「ブラスト半径」はここで高くなります.午後2時に金曜日の午後に回復設計パターンを調査するとき、開発者より高いものは予想します.
そこがどこだ
The
次の節では、DJangoアプリケーションIIのインストールと設定プロセス、および遅延とアプリケーションの故障のシミュレーションをご案内します.シミュレーションはHTTPヘッダーリクエストまたは
インストール
Djangoアプリケーションを構成します
アプリケーションの起動
トリガの遅延
ヘッダの値を
シミュレーションのために、我々はHTTPリクエストを視覚化するためにPostmanクライアントを使用します.
遅延シミュレーション
を設定して例外を送出する
ヘッダの値を
故障シミュレーション
そのような攻撃を制御するより魅力的な方法は、Proofdock
Azure devopsにおける制御センター
私たちはあなたが楽しみを持って、弾力性にいくつかの新しい側面を学んだことを願っています.
我々はProofdock , エンジニアがより強力で信頼できるソフトウェア製品を造るのを手伝っているドイツに位置するソフトウェア技術会社.チェックアウトChaos Platform マイクロソフトAzureのために、あなたのシステムを調査してください.
ソースコードをチェックアウトGitHub
Read the docs インストール
偉大な作家やプレゼンターのようなUwe Friedrichsen and Donald Firesmith 共有のアイデアや弾力性のあるソフトウェア設計についての知識.そのような記事は、破壊を克服して、ハンサムな方法でアプリケーション弾力性を改善するソフトウェアパターンについて説明します.
しかし、レジリエンスパターンを展開すると、開発者として実装を検証する必要があります.検証の地面に触れると、物事は難しくなるようだ.
カオスエンジニアリングツールは、仮想マシンを停止したり、Kubernetesクラスタのポッドを終了するような機能を広告します.「ブラスト半径」はここで高くなります.午後2時に金曜日の午後に回復設計パターンを調査するとき、開発者より高いものは予想します.
そこがどこだ
Chaos Middleware
パッケージが動作します.The Cloud Bug Study バギーコード、タイムアウト、その他のエラー処理を無視した状態は、システムのアンアベイラビリティの大きな部分につながります.The
Chaos Middleware
あなたが乱流条件でアプリケーションをスローすることができます.それはあなたが遅延応答をシミュレートしたり、エラーを発生させることができます.必要に応じて破壊をアクティブにし、特定のURLパスにそれらを絞り込む.The Chaos Middleware
あなたに“ブラスト半径”を最小化し、金曜日の午後にも、アプリケーションの回復力を確認する機会を与えます.次の節では、DJangoアプリケーションIIのインストールと設定プロセス、および遅延とアプリケーションの故障のシミュレーションをご案内します.シミュレーションはHTTPヘッダーリクエストまたは
Chaos Platform
コントロールセンター.インストールと設定
インストール
Chaos Middleware
Djangoアプリケーションの場合: cd /path/to/your/django-application # Enter your Django application
venv/bin/activate # Active virtual environment
pip install -U proofdock-chaos-middleware-django
Djangoアプリケーションを構成します
# Activate the ``Chaos Middleware`` component by adding
# it to the MIDDLEWARE list in your Django settings
MIDDLEWARE = [
'..'
'pdchaos.middleware.contrib.django.django_middleware.DjangoMiddleware',
'..'
]
# Set the Chaos Middleware settings
CHAOS_MIDDLEWARE = {
'CHAOS_MIDDLEWARE_APPLICATION_NAME': 'example-application-name',
'CHAOS_MIDDLEWARE_APPLICATION_ENV': 'example-environment'
}
遅延をシミュレートする
トリガの遅延
x-proofdock-attack
リクエストヘッダ.The Chaos Middleware
このヘッダーの中のどんな値も見つけます.ヘッダの値を
{"actions":[{"name":"delay","value":"15"}]}
. 値はシミュレーションを記述するname
とvalue
秒単位で.記述されたシミュレーションは応答を15秒遅らせます.シミュレーションのために、我々はHTTPリクエストを視覚化するためにPostmanクライアントを使用します.
遅延シミュレーション
断層をシミュレートする
を設定して例外を送出する
x-proofdock-attack
リクエストヘッダ.ヘッダの値を
{"actions":[{"name":"fault","value":"Exception"}]}
. 値はシミュレーションを記述するname
とvalue
送出する例外の完全修飾名として.シミュレーションではException
.故障シミュレーション
Azure devopsユーザのための制御センター
そのような攻撃を制御するより魅力的な方法は、Proofdock
Chaos Platform
. The Chaos Platform
カオスエンジニアリング機能を持つAzure devopsを拡張します.コントロールセンターでは、グラフィカルユーザーインターフェイスを介してアプリケーションの攻撃を制御することができますし、アプリケーションのキャッシュに構成された攻撃をすることができます.チェックアウトdocs あなたが興味があるときChaos Platform
.Azure devopsにおける制御センター
ありがとう
私たちはあなたが楽しみを持って、弾力性にいくつかの新しい側面を学んだことを願っています.
我々はProofdock , エンジニアがより強力で信頼できるソフトウェア製品を造るのを手伝っているドイツに位置するソフトウェア技術会社.チェックアウトChaos Platform マイクロソフトAzureのために、あなたのシステムを調査してください.
参考文献
Chaos Platform
Reference
この問題について(カオスミドルウェア:弾力性を改善するためのDjangoアプリケーションにおける混乱), 我々は、より多くの情報をここで見つけました https://dev.to/proofdock/chaos-middleware-simulate-disruptions-in-django-applications-to-improve-resiliency-j8hテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol