マイクロサービス アーキテクチャは、現在ソフトウェア エンジニアリング コミュニティで広く採用されている手法です。このアーキテクチャ スタイルを採用する組織は、ビジネス ロジックの実装の複雑さに加えて、分散障害の複雑さにも対処する必要があります。 分散コンピューティングの誤りは十分に文書化されていますが、見つけるのは困難です。その結果、大規模で信頼性の高い分散システム アーキテクチャを構築することは困難な問題となります。結果として、非分散システムでは適切に見えるコードでも、ネットワーク相互作用の複雑さを Web に導入すると大きな問題になる可能性があります。 数年にわたって本番コードで障害モードに遭遇し、さまざまなコードでその原因を突き止めてきた結果、私は (他の多くの人と同様に) より一般的な障害モードのいくつかを特定しました。これらは企業や言語スタックによって若干異なりますが (社内のインフラストラクチャとツールの成熟度によって異なります)、これらの 1 つ以上が運用上の問題の原因となることがよくあります。 ここでは、分散環境でのシステム間通信に関連するコードをレビューするために使用する基本的なチェックリストとして機能するコード レビュー ガイドラインをいくつか示します。これらの方法はすべて常に当てはまるわけではありませんが、いずれも非常に基本的な質問なので、これを機械的にリスト化し、不足している項目にマークを付けてさらに議論することは、便利で安心できると思います。そういう意味では、これはおそらく常に従いたくなるようなばかげたリストです。 リモート システムを呼び出すときに、リモート システムに障害が発生するとどうなりますか? どれだけメンテナンスを考慮してシステムを設計しても、いつかは故障します。これは、本番環境でソフトウェアを実行する上での事実です。バグ、インフラストラクチャの問題、トラフィックの急増、無視された緩やかな減少などにより失敗する可能性がありますが、失敗しました。呼び出し元がこの障害をどのように処理するかによって、アーキテクチャ全体の回復力と堅牢性が決まります。
リモート システムの速度が低下するとどうなりますか? これは、リモート システムが正常に動作しているかどうかわからないため、完全な障害よりも危険です。この状況に対処するには、常に次の点を確認する必要があります。 リモート システム コールには常にタイムアウトを設定します。これには、リモート API コール、イベント パブリッシング、およびデータベース コールのタイムアウトが含まれます。私はこの単純な欠陥を非常に多くのコードで発見したので、衝撃的ではあるが、予想外でもない。何らかの理由でリモート システムが応答しなくなった場合に待機してリソースを無駄にしないように、呼び出し内のすべてのリモート システムに対して制限された適切なタイムアウトが設定されていることを確認します。
システムを構築するとき、他の人は
一般的なガイドライン
これらのガイドラインが、分散システム コードにおける最も一般的なバグの削減に役立つことを願っています。簡単に適用できて非常に効果的な他の考慮事項があると思われる場合は、ぜひお聞かせください。ここに追加できます。 |
>>: クラウド コンピューティング: ビジネスを破滅させる可能性のある 7 つの致命的なミス
私は3年間、機能的なウェブサイト運営の指揮を執ってきました。この3年間、業界ウェブサイトの最も基本的...
みなさんこんにちは。謝凱です。このタイトルを見ると、多くの人が同じように感じるかもしれません。SEO...
私はhostodoから特別プロモーションVPS、OpenVZ仮想、1Gメモリ、90Gハードディスク、...
360が検索エンジンを立ち上げて以来、360とBaiduの争いは止まったことがなかった。最近の政府当...
最近、企業サイトで働いている多くの友人と話をしたところ、インターネット上で非常に悪いことが起こってい...
ウェブサイト運営者は、プラットフォーム上の毎日のUVとIPに主に責任があり、ウェブサイトプラットフォ...
5月1日の国際メーデーに、Racknerd は特別版の安価な年間支払い VPS をそれぞれ 200 ...
記者の張仙安が北京からレポートします6月には北京の望金宝と深センの客訊が再び逃亡したと報じられ、中央...
導入有名な雑誌「エコノミスト」はかつて「コンテナがなければ、グローバリゼーションはあり得ない」と評し...
SEO 最適化に関して言えば、内部の最適化に加えて、外部リンクも非常に重要です。しかし、多くのウェブ...
今年の10のオンライン融資プラットフォームの取引量は主に4億から17億の間で分布している。一部のプラ...
今日、ますます多くの企業が、選択したアプリケーションをクラウドからオンプレミスまたはホストされたデー...
今日は、新しいパートナーであるOrbStack[2]を紹介したいと思います。OrbStackのスロー...
テレビドラマの魔術師のように検索エンジンの今後の発展を予測できるわけではありませんが、近年の発展傾向...
今日は10月20日月曜日です。いつものように朝から会社に来ました。パソコンの電源を入れた後、まずウェ...