マイクロサービス アーキテクチャは、現在ソフトウェア エンジニアリング コミュニティで広く採用されている手法です。このアーキテクチャ スタイルを採用する組織は、ビジネス ロジックの実装の複雑さに加えて、分散障害の複雑さにも対処する必要があります。 分散コンピューティングの誤りは十分に文書化されていますが、見つけるのは困難です。その結果、大規模で信頼性の高い分散システム アーキテクチャを構築することは困難な問題となります。結果として、非分散システムでは適切に見えるコードでも、ネットワーク相互作用の複雑さを Web に導入すると大きな問題になる可能性があります。 数年にわたって本番コードで障害モードに遭遇し、さまざまなコードでその原因を突き止めてきた結果、私は (他の多くの人と同様に) より一般的な障害モードのいくつかを特定しました。これらは企業や言語スタックによって若干異なりますが (社内のインフラストラクチャとツールの成熟度によって異なります)、これらの 1 つ以上が運用上の問題の原因となることがよくあります。 ここでは、分散環境でのシステム間通信に関連するコードをレビューするために使用する基本的なチェックリストとして機能するコード レビュー ガイドラインをいくつか示します。これらの方法はすべて常に当てはまるわけではありませんが、いずれも非常に基本的な質問なので、これを機械的にリスト化し、不足している項目にマークを付けてさらに議論することは、便利で安心できると思います。そういう意味では、これはおそらく常に従いたくなるようなばかげたリストです。 リモート システムを呼び出すときに、リモート システムに障害が発生するとどうなりますか? どれだけメンテナンスを考慮してシステムを設計しても、いつかは故障します。これは、本番環境でソフトウェアを実行する上での事実です。バグ、インフラストラクチャの問題、トラフィックの急増、無視された緩やかな減少などにより失敗する可能性がありますが、失敗しました。呼び出し元がこの障害をどのように処理するかによって、アーキテクチャ全体の回復力と堅牢性が決まります。
リモート システムの速度が低下するとどうなりますか? これは、リモート システムが正常に動作しているかどうかわからないため、完全な障害よりも危険です。この状況に対処するには、常に次の点を確認する必要があります。 リモート システム コールには常にタイムアウトを設定します。これには、リモート API コール、イベント パブリッシング、およびデータベース コールのタイムアウトが含まれます。私はこの単純な欠陥を非常に多くのコードで発見したので、衝撃的ではあるが、予想外でもない。何らかの理由でリモート システムが応答しなくなった場合に待機してリソースを無駄にしないように、呼び出し内のすべてのリモート システムに対して制限された適切なタイムアウトが設定されていることを確認します。
システムを構築するとき、他の人は
一般的なガイドライン
これらのガイドラインが、分散システム コードにおける最も一般的なバグの削減に役立つことを願っています。簡単に適用できて非常に効果的な他の考慮事項があると思われる場合は、ぜひお聞かせください。ここに追加できます。 |
>>: クラウド コンピューティング: ビジネスを破滅させる可能性のある 7 つの致命的なミス
最近、Lao Yu はある事例を耳にしました。ある銀行が、業務の中核となる集中型データベースの代わり...
VMware (NYSE: VMW) は本日、2021 会計年度の第 3 四半期の業績を発表しました...
エッジ コンピューティングは、革新的かつ最先端の技術として、テクノロジーの時代精神の中でその地位を確...
最近、かつて瑞創で働いていた数人がIT Timesの記者に明らかにしたところによると、2011年3月...
Docker はプライベート レジストリを安全か安全でないかを判断します。このセクションの残りの部分...
SEO ではトラフィックとコンバージョン率のどちらが重要ですか? この問題は、ウェブマスターの間で長...
ウェブサイトの特定のキーワードのランキングが安定しているかどうかをどのように判断すればよいでしょうか...
【編集者注】この記事はWeibo UDCから転載したもので、著者は@沈勇有梦想です。筆者は2004年...
fadayunは現在、春のスタートに向けて特別プロモーションを開催しています。湖北クラウドサーバーは...
百度は6月、7月、8月にウェブサイトに大規模な調整を加え、百度アルゴリズムを複数回アップグレードしま...
今こそ、中小メーカーが変化を起こす絶好の機会です。今日のデジタルによる破壊的変化は、莫大な資本投資や...
HTML コードについて少しでも知識のある最適化担当者であれば、サイトの最適化における H1 タグの...
キーワードで良いランキングを得るために、私たちは毎日記事を更新し、ウェブサイトに外部リンクを投稿して...
サーバーはウェブサイトの存続の基盤です。サーバー禁止の理由が何であれ、スパイダーのクローリングに直接...
2012年8月31日、インデックスされたSEOブログの数は203に達し、その後9月1日から今日まで、...