1. 前に書く
1. カオスとは何ですか?
カオス エンジニアリングの概念は、2010 年に Netflix によって提案されました。システムに異常な状態を積極的に導入し、さまざまな圧力下でのシステムの動作に基づいて最適化戦略を決定することにより、システムの安定性を確保する新しい方法です。
カオス エンジニアリングは、複雑なシステムが本番環境での予期せぬイベントにどのように耐えられるかについての知識を構築することを目的として、分散システム上で実験を行う学問です。
2. なぜカオスが起こるのか?
カオスエンジニアリングは、欠陥、異常、または不確実な状態を意図的に導入することによって、現実世界の不完全な環境をシミュレートします。その中心となるアイデアは、障害や異常な状態を積極的に導入することでシステムの堅牢性を段階的に検証および改善し、それによって現実世界の複雑な環境に直面した際のシステムの安定性と信頼性を高めることです。その目的は、潜在的なシステムの弱点を特定し、アプリケーション システムの堅牢性と復元力を向上させ、システム障害の影響を軽減し、より良いユーザー エクスペリエンスを提供することです。
3. カオスの原理
カオス エンジニアリングは主に次の原則に従います。
2. Yの混沌とした展開
過去 3 年間、JD Chaos Engineering は 3 つの防御線の 1 つとして、昇格前に非常に重要な役割を果たしてきました。また、Y のカオス プラクティスも、主にアプリケーション カバレッジとシーン カバレッジの 2 つの側面から継続的にアップグレードされてきました。 . 改善の方向性を明確に定め、グループカオス競技において次々と躍進と成果をあげています。
1. 探鉱段階(21年)
21 年の 618 に遡り、Y は主にパイロット プロジェクトの探索を目的としていました。カオス テスト アプリケーションの対象範囲は主に非レベル 0/1 アプリケーションに焦点を当てていました。訓練シナリオは主にネットワーク切断訓練などの単純なシナリオに焦点を当てていました。防御的な発射が開発されました。
2. 発展段階(22年)
Jingdong Chaos Engineering の 22 年間の反復アップグレードにより、ドリル シナリオとシステムの使いやすさが大幅に向上しました。Y 側は、基本的なリソースの障害から外部依存関係の障害、高度なシーンの追加に至るまで、カオス ドリル シナリオの包括的なカバーにも重点を置いています。システムの安定性を継続的に改善します。同時に、0/1レベルの基幹システムを段階的にカバーし、カオスドリル運用マニュアル、カオスドリル仕様書等を蓄積し、攻撃側としての実験と防御側としての研究開発を行い、そして責任分担が明確になります。
3. 成長期(23歳)
22年間の実戦総括を経て、618Yは23年間でアプリケーションカバレッジの向上推進に注力し、最終的に小売TOP1の99.68%に到達した。実践戦略 グループの要件に従ってシステムが推奨する 9 つの主要シナリオの完了に優先順位を付け、同時にいくつかの特定のシナリオを的を絞った方法で選択し、システム監視を改善し、最終的にアプリケーションの健全性スコアをレベル 0/1 にします> 95点、ハイリスク項目はクリア。キャンペーン期間中に各システムの性能が基準に達し、無線事故が発生しました。段階的な結果を達成するには、チームメンバーが各段階で次の原則を厳密に遵守し、各訓練を高い基準で扱うという事実が不可欠です。
3. カオステストと従来のテストの違い
カオス エンジニアリングは、システムについて新しい洞察を得るのに役立つ実験手法です。これは、機能テストや統合テストなどの既知のプロパティをテストする既存の方法とは根本的に異なります。カオス エンジニアリングは、システムについてより多くの新しい認識を獲得できるように設計された実験手法であり、通常、複雑なシステムに対してより広い認識空間を開きます。
従来のテストは、特定の条件を与えることを目的としており、システムは特定のバイナリ結果を出力しますが、既知のシステム属性の可能な値をテストするだけです。
カオス エンジニアリングの考え方は、積極的に欠陥を見つけることであり、探索的です。ダウングレード計画は計画どおりに作成されていましたが、ノードがシャットダウンされたときに上流のサービス障害がトリガーされ、雪崩が発生しました。障害挿入や事前計画では検出できませんでした。
4番目、裏面に書きます
カオス エンジニアリングは、技術アーキテクチャの回復力を向上させるための複雑な技術的手段であり、初期段階で障害を摘み取ること、つまり混乱を引き起こす前に障害を特定することを目的としています。積極的に障害を作成することで、さまざまなストレス下でシステムの動作をテストし、障害の問題を特定して修正し、重大な結果を回避します。
新しいシステム機能の継続的な立ち上げや依存関係の変更などにより、システムに未知の障害が連続して発生する可能性があるため、カオスエンジニアリングの実践において最も重要なことは持続可能であることです。カオス実験の現場では、カオスエンジニアリングの価値が常に発揮されています。
著者: JD Retail 李金平馬春栄
出典: JD Cloud 開発者コミュニティ
MyBatis-Flex の MyBatis-Plus 盗用に関する明確化 Chrome の代替品であると主張する Arc ブラウザ 1.0 が正式にリリース OpenAI が Android バージョンを正式にリリース ChatGPT VS Code で名前の難読化圧縮が最適化され、組み込み JS が 20% 削減されました。 LK-99: 最初の室温常圧超伝導体? マスク氏は「ゼロ元で購入」し、@x Twitter アカウントを強奪したPython 運営委員会は PEP 703 提案を受け入れる予定で、 グローバル インタープリタ ロックをオプションにする . システムのオープンソースで無料のパケット キャプチャ ソフトウェアへのアクセス数Stack Overflow大幅に下落し、マスク氏はLLMに取って代わられたと述べた