ホームページ >よくある問題 >キャップとは何ですか

キャップとは何ですか

青灯夜游
青灯夜游オリジナル
2021-03-18 16:11:1338923ブラウズ

cap は CAP 原則または CAP 定理の略で、分散システムでは一貫性、可用性、分割耐性の 3 つの要素は最大でも同時にしか発生できないという事実を指します。この 3 つすべてに気を配ることは不可能です。

キャップとは何ですか

このチュートリアルの動作環境: Windows 7 システム、Dell G3 コンピューター。

CAP 原則 (CAP 定理とも呼ばれます) は、分散システムでは一貫性、可用性、およびパーティション耐性を同時に達成できないという事実を指します。

一貫性 (C): 分散システム内のすべてのデータ バックアップは同時に同じ値を持ちます。 (データの同じ最新コピーにアクセスするすべてのノードと同等)

可用性 (A): 成功または失敗に関係なく、すべてのリクエストに応答があることを確認します。

パーティション許容度 (P): システム内の情報の損失または障害は、システムの継続的な動作には影響しません。

CAP 原則の本質は、AP、CP、または AC のいずれかですが、CAP は存在しないということです。分散システムにデータのコピーが存在しない場合、一意のデータのみが存在し、データの不整合が発生しないため、システムは強整合性条件を満たす必要があります。このとき、2 つの要素 C と P が存在します。ただし、システムにネットワーク障害が発生した場合、パーティションのステータスやダウンタイムにより、一部のデータにアクセスできなくなることは避けられません。このとき、可用性条件を満たすことができません。つまり、この場合、CP システムは取得されますが、CAP は取得できません。同時に満足してください。

したがって、分散アーキテクチャを設計するときは、トレードオフを行う必要があります。現在、システムのパフォーマンスは一般に、分散キャッシュ内の各ノードの結果整合性によって向上し、クラスター化されたデータの整合性は、複数のノード間で非同期データ レプリケーション テクノロジを使用することによって実現されます。通常、memcached のような NOSQL が実装手段として使用されます。 memcached は分散クラスター環境でも使用できますが、データの一部は常に特定の memcached サーバーに保存されます。ネットワーク障害が発生したり、サーバーがクラッシュしたりすると、そのサーバーに保存されているすべてのデータにアクセスできなくなります。データはメモリに保存されるため、サーバーを再起動するとすべてのデータが失われます。もちろん、分散 memcached 間でデータを同期して保持するメカニズムを自分で実装することもできますが、実装は非常に困難です。

プログラミング関連の知識について詳しくは、プログラミング ビデオをご覧ください。 !

以上がキャップとは何ですかの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。