画像クレジット: gorodenkoff / iStock / GettyImages
分散システムは、複数のコンピューターシステムが単一のユニットとして効果的に連携しているコンピューターシステムです。 分散システムの例には、Webサイトやオンラインビデオを提供するために使用されるコンテンツ配信ネットワークが含まれます。 多くのオンラインで使用されている複数の強力な数学プロセッサと分散データベースから構築されたスーパーコンピューター システム。 分散システムは、単一のコンピューターシステムよりも回復力があり、強力で、高速ですが、 また、より多くのメンテナンスと、組織や起こりうる問題について慎重に検討する必要があります。 間違い。
分散システムの利点
分散システムを使用することには、いくつかの潜在的な利点があります。 最も理解しやすいものの1つは、冗長性と復元力です。 企業が単一のサーバーではなく分散したサーバーのセットからWebサイトを提供している場合、1つのサーバーに物理的な障害が発生しても稼働し続けることができる場合があります。 最新の分散システムでよく見られるように、データが複数のサーバーまたはディスクに分散されている場合、ストレージデバイスが機能しなくなっても、データが失われることはありません。
今日のビデオ
スピードとコンテンツ配信
分散システムは、単一コンピューターシステムよりも高速になる場合もあります。 分散データベースの利点の1つは、クエリをサーバーにルーティングできることです。 すべてのリクエストを単一のマシンに送信する必要があるのではなく、特定のユーザーの情報 過負荷。
リクエストは、物理的に近いサーバーや、必要な人との迅速なネットワーク接続でルーティングすることもできます。 データ。これは、ネットワークトラフィックの処理に割り当てられる時間とその他のリソースが少なくなることを意味します。 ボトルネック。 これは、オンラインメディアに使用されるコンテンツ配信ネットワークでよくあることです。
スケーリングと並列処理
関係するサーバー間でデータを分散するように分散システムをセットアップすると、それらを簡単にスケーラブルにすることもできます。 それらがうまく設計されていれば、新しいハードウェアを追加し、それを分散システムに追加するようにネットワークに指示するのと同じくらい簡単です。
分散システムは、並列処理用に設計することもできます。 これは、気象モデリングや科学計算など、複数の強力な数学演算で一般的です。 プロセッサは、複雑なシミュレーションの独立した部分を分割し、それらを実行するよりも速く答えを得ることができます シリーズ。
分散コンピューティングの課題
分散コンピューティングの大きな課題の1つは、プログラマーが推論するのが難しい場合があることです。 さまざまな予期しない条件下で復元力の要件を確実に満たすために、データを配布する方法に課題が生じる可能性があります。
デバイスを同期する必要がある場合、デバイスが互いに待機する原因となるバグを見つけるのが難しい場合があります データを送信したり、誤って同じデータを同時に読み書きしようとしたりして、 エラー。
分散システムでは、セキュリティとプライバシーも問題になる可能性があります。これは、人々のデータが複数のコンピューターに、場合によっては複数の物理的な場所に保存されるためです。 分散システムは、必要以上の物理リソースとエンジニアリング時間を使用して、一部のタスクではやり過ぎになる可能性もあります。