マイクロサービス アーキテクチャは、現在ソフトウェア エンジニアリング コミュニティで広く採用されている手法です。このアーキテクチャ スタイルを採用する組織は、ビジネス ロジックの実装の複雑さに加えて、分散障害の複雑さにも対処する必要があります。 分散コンピューティングの誤りは十分に文書化されていますが、見つけるのは困難です。その結果、大規模で信頼性の高い分散システム アーキテクチャを構築することは困難な問題となります。結果として、非分散システムでは適切に見えるコードでも、ネットワーク相互作用の複雑さを Web に導入すると大きな問題になる可能性があります。 数年にわたって本番コードで障害モードに遭遇し、さまざまなコードでその原因を突き止めてきた結果、私は (他の多くの人と同様に) より一般的な障害モードのいくつかを特定しました。これらは企業や言語スタックによって若干異なりますが (社内のインフラストラクチャとツールの成熟度によって異なります)、これらの 1 つ以上が運用上の問題の原因となることがよくあります。 ここでは、分散環境でのシステム間通信に関連するコードをレビューするために使用する基本的なチェックリストとして機能するコード レビュー ガイドラインをいくつか示します。これらの方法はすべて常に当てはまるわけではありませんが、いずれも非常に基本的な質問なので、これを機械的にリスト化し、不足している項目にマークを付けてさらに議論することは、便利で安心できると思います。そういう意味では、これはおそらく常に従いたくなるようなばかげたリストです。 リモート システムを呼び出すときに、リモート システムに障害が発生するとどうなりますか? どれだけメンテナンスを考慮してシステムを設計しても、いつかは故障します。これは、本番環境でソフトウェアを実行する上での事実です。バグ、インフラストラクチャの問題、トラフィックの急増、無視された緩やかな減少などにより失敗する可能性がありますが、失敗しました。呼び出し元がこの障害をどのように処理するかによって、アーキテクチャ全体の回復力と堅牢性が決まります。
リモート システムの速度が低下するとどうなりますか? これは、リモート システムが正常に動作しているかどうかわからないため、完全な障害よりも危険です。この状況に対処するには、常に次の点を確認する必要があります。 リモート システム コールには常にタイムアウトを設定します。これには、リモート API コール、イベント パブリッシング、およびデータベース コールのタイムアウトが含まれます。私はこの単純な欠陥を非常に多くのコードで発見したので、衝撃的ではあるが、予想外でもない。何らかの理由でリモート システムが応答しなくなった場合に待機してリソースを無駄にしないように、呼び出し内のすべてのリモート システムに対して制限された適切なタイムアウトが設定されていることを確認します。
システムを構築するとき、他の人は
一般的なガイドライン
これらのガイドラインが、分散システム コードにおける最も一般的なバグの削減に役立つことを願っています。簡単に適用できて非常に効果的な他の考慮事項があると思われる場合は、ぜひお聞かせください。ここに追加できます。 |
>>: クラウド コンピューティング: ビジネスを破滅させる可能性のある 7 つの致命的なミス
グループ内で「私のブログは一度も掲載されません。リンクがなくてもすぐに掲載されるのに、リンクが張られ...
最近、会社の戦略が徐々にPC側からワイヤレス側に移行しているため、ほとんどのややフォーマルなインター...
モバイルインターネットの時代において、WeChatはさまざまな情報を入手するための主要なモバイルポー...
WeChatが普及し、WeChatマーケティングは企業が競って利用するマーケティング手法となりました...
以前、私は自分のウェブサイトを4か月で業界2位にした方法を皆さんにシェアしました。今日は、キーワード...
[51CTO.com からのオリジナル記事] クラウドに移行するかどうかをまだ議論しているとしたら、...
Serverhub は、コストパフォーマンスに優れたクラシックなサーバーを推奨しています。データ セ...
多くのウェブマスターは、外部リンクが多ければランキングも上がると考えていますが、実際には外部リンクが...
[[377361]]クロスリージョンとは、一般的に知られている「異地域デュアルアクティブ」や「異地域...
わずか18歳のユーイン・タン氏は、一般的なコンピューターが量子コンピューターとほぼ同じ速さで「推奨問...
今日は検索エンジンの原理を紹介します。まずは写真を見てみましょう…次に、階層ごとに説明します。 1....
月収10万元の起業の夢を実現するミニプログラム起業支援プラン9月10日は教師の日です。教師は心の庭師...
Nexusbytes は 2006 年に設立され、高品質の仮想ホスティングおよび VPS サービスを...
多くのウェブマスターは、クラスターを構築するためにクラスター サーバーを必要としており、また、Ama...
現在、lisahost が提供している VPS は非常にユニークです。米国とシンガポールのデータセン...