銀行破綻とリトマスカオスを用いた克服
8506 ワード
おい、皆さん、このブログでは、私は銀行関連の失敗について話します、そして、どのように我々は彼らをLitmusChaosを使って克服することができますか。
銀行破綻に出くわしたことがありますか.
モバイルバンキングのアプリは、今日のために、例えば、どこからでも快適さから預金を預けることができます.同時に、あなたのバランスを確認することができます、転送資金、およびあなたが支店を訪問する必要がなくあなたのアカウントをオーバードラフトする場合に通知するための通知を設定します.これは、リアルタイムの節約です!
しかし、同時に、銀行のサーバーがダウンしているか、接続が遅い場合は、あなたのアカウントにアクセスすることができなくなりますし、トランザクションが通過したかどうかを知るのは難しいでしょう.
以下のトピックを一つずつやります。
Bank Of Anthos
とLitmusカオスとの関係Anthos銀行について
Bank of Anthos
は、銀行の支払い処理ネットワークをシミュレートするサンプルのHTTPベースのWebアプリケーションです.Googleはどのように開発者は、GCPの製品を使用して企業のアプリケーションを近代化することができますデモをするには、このアプリケーションを使用します.
アントス銀行の建築
LitmusChaosで、我々は働いていて、我々の実験をテストしました
Bank Of Anthos
アプリケーション.カオス実験は、実際のカオスの詳細を含んでいます.我々は2つのシナリオ:弱いと弾力性があります.それに基づいて、我々は実験の作業負荷を実行し、原因に影響を見つけることを試みる.
このワークフローは、2つのバージョンの
bank-of-anthos deployment
: 弱いものは弾力的なものが成功する間、失敗すると予想されます.リトマス入門
リトマスは、チームが制御された方法でカオステストを誘導することによってチームの弱点と潜在的停電を特定するのを可能にするオープンソースのカオス工学プラットホームです.
開発者とSresは、現代のカオス工学の実践とコミュニティのコラボレーションに基づいて、使いやすいようにリトマスでカオス工学を実行することができます.リトマスは100 %オープンソース&CNCF主催です.
リトマス雲を作成し、管理し、カオスを監視するネイティブのアプローチを取る.
カオスは、次のKubernetesカスタムを使用して調整されます
リソース定義( crds ):
注入カオスと観測結果
Pod-network-loss
ネットワーク接続を中断するカオスを注入balancereader
& transactionhistory
Kubernetesポッド.ワークフローが完了すると、アプリケーションポッドは健康であるべきです.カオスにも関わらずサービスリクエストを送ればよい.この実験はリトマスを使用してパケット損失を注入することによってアプリケーション複製へのアクセスの損失を引き起こします.
ネットワークの損失は
balancereader
or transactionhistory
から読むledger DB
そして、弱いシナリオでのマルチレプリカとしてではなく、単一のレプリカ展開として実行します.損失のために.balancereader
and transactionhistory
が失敗した場合にはアクセスできない.単一のレプリカ展開では、ユーザーがすることはできません-詳細を参照してください詳細を追加または情報を取得します.一方、2つの展開では詳細を追加することが可能です.The
balancereader
or transactionhistory
詳細を追加することができます提供API経由で取得します.プローブのチェック
HTTPプローブでは、開発者は、実験/使用状況(またはその他のカスタム条件)を入力/終了条件の一部として測定するために使用するURLを指定できます.受信したステータスコードは、期待されたステータスに対してマップされます.これは
.spec.experiments[].spec.probe
, Chaosengineの中の経路HTTPプローブを再度使用しています
http://frontend.bank.svc.cluster.local:80
をプローブpoll間隔で1秒とする.HTTPプローブを再度使用しています
“http://frontend.bank.svc.cluster.local:80”
プローブポーリング間隔1秒で.- name: "check-frontend-access-url"
type: "httpProbe"
httpProbe/inputs:
url: "http://frontend.bank.svc.cluster.local:80"
insecureSkipVerify: false
method:
get:
criteria: "=="
responseCode: "200"
mode: "Continuous"
runProperties:
probeTimeout: 2
interval: 1
retry: 2
probePollingInterval: 1
リトマス入口
Litmusポータルは、管理、監視、およびイベントのカオスワークフローの周りコンソールとUIの経験を提供します.カオスワークフローは、アプリケーションまたはKubernetesプラットフォームにフォールトを導入する目的を達成するために一緒に実行する一連の実験から成ります.
マニフェストを適用する
kubectl apply -f https://raw.githubusercontent.com/litmuschaos/litmus/2.0.0-Beta9/docs/2.0.0-Beta/litmus-2.0.0-Beta.yaml
インストールが完了したら、カオスコントロールプレーンと定義済みのワークフローのすべての部分を探索することができます.Bank of Anthos
詳細を得るために定義済みのワークフロー. - name: install-application
container:
image: litmuschaos/litmus-app-deployer:latest
args:
- -namespace=bank
- -typeName=resilient
- -operation=apply
- -timeout=400
- -app=bank-of-anthos
- -scope=cluster
ここでは、弱いアプリケーションのインストールステップでは、変更することができます-typeName=weak
その結果、単一のレプリカです.注:あなたがChoosEngineの正しいDocker経路を通過したことを確認してください.
デフォルト
名前: SocketLandパス
値:/var/run/docker.靴下
これは、クロスチェックすることができますUIを使用して.
http://<frontend-host>:portNo
では、ワークフローを再度スケジュールしましょう
はい、バランスがあるし、ログを見ることができます
Chaos Results
それ以下.結論
我々は簡単に議論した
Bank Of Anthos resilience
定義済みワークフローBank Of Anthos
アプリケーションの弾力性とそのLitmusChaosとの関係が示されている.ワークフローはAnthos弾力性ワークフローの導入銀行で議論されました.LitmusChaosでは、我々は継続的に働いていると我々の実験アプリケーションをテストします.
異なった定義済みワークフローとKubernetesワークフローの間で、我々の第3の定義済みのワークフローはAnthos弾力性チェックの銀行です.
最後まで読んでくれてありがとう.私はあなたがLitmusChaosについての生産的な時間を学んだことを願っています.あなたはsreまたはkubernetes愛好家ですか?カオス工学はあなたを興奮させるか?
参加LitmusChainコミュニティスラックチャンネル
#litmus
チャンネル登録者https://slack.k8s.io/ ) スラック!参照とリンク
Slack
LitmusChaos
Litmus ChaosHub
Github Repo Litmus
Connect with us on Slack
chaos-charts
必要な変更を確認する場合はプル要求を送信します.
これらのリソースを共有することを忘れないでください誰かを学ぶに役立つ/カオス工学についての詳細を探る必要があります.
Reference
この問題について(銀行破綻とリトマスカオスを用いた克服), 我々は、より多くの情報をここで見つけました https://dev.to/oumkale/banking-failures-and-overcoming-using-litmuschaos-172nテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol