分散理論CAP定理

また、CAP定理手段として知られているCAPの原理は、分散システムでは、一貫性(一貫性)、可用性(アベイラビリティ)、パーティション・トレランス(パーティションのフォールトトレランス)は、3つの両方を持つことができません。

998、カリフォルニア大学のコンピューター科学者、エリック・ブリュワーは、分散システムは、3つの指標を持って提案しました。

一貫性(整合性):すべての時間を同期するノード上のデータ、強い整合性、
アベイラビリティ(可用性):各要求に関係なく、返されたデータが一致するかどうかの、応答を受信することができ、
分割耐性(パーティションフォールトトレランス):システムは、さらに、ノード障害またはネットワークパーティションの面で、サービスの提供を継続することができなければなりません。
彼らは、最初の文字C、A、P.あります
エリック・ブリュワーは、同時に3つの指標は不可能と言いました。この結論は、CAP定理と呼ばれています。

以下では、これら3つの概念の下で約ありました。

1.パーティションフォールトトレランス
シングルポイントシステムに対して、分散システムは、複数のマシン上に展開され、例えば、北京のサーバルーム、上海中の1つ、場合の二つの部屋として、地域全体のマシン間であってもよいです分散システム間で構築された、マシンはその後、2つの領域が通信する必要があるが、通信は可能性がある限り、通信が失敗したとして発生することがあり、パーティションPは、当社のフォールトトレラント分散システムの設計は、アカウントに問題を取る必要があります。

2.一貫性
一貫性は、分散システムでは、クライアントからの買収は、最新であるべきマシンからに関係なく、データを取ると言われています。

 

一貫性を満たすためになるように、server1サーバーにタイムクライアントの更新がVO-> v1と、その後に関係なく、サーバー1からサーバー2または値からはV1ではないと仮定すると。cleintデータは、この時点での値から取得するサーバー1、サーバー2に書き込まれている場合と、server1とserver2の間で同期されていない、それはまだ一貫性を満たしていない、その後、VOになります。

3.可用性
可用性は関係なく、任意の時間に、クライアントはRenyiyitaiサーバに要求を送信し、応答を取得することができ、関係なく、得られたデータのV0またはV1である、を指します。

一貫性と可用性の間の矛盾

そのため、パーティションPのフォールトトレラントの必然の、一貫性と可用性A Cを同時に確立することはできませんので。

 

サーバー2は、一貫性を確保した場合、それはServer1が書き込みロックを読み、サーバー2への書き込み操作しなければなりません。データのみの同期後、再オープンをするために読み書きします。ロック時には、Server2が読み書きので、可用性が満たされることはありませんすることはできません。

サーバー2は、可用性を確保する場合には一貫性が確立されていないので、あなたは、サーバー2をロックすることはできません。

要約すると、サーバー2の一貫性と可用性を同時に行うことはできません。あなただけのターゲット・システム設計を選択することができます。強い一貫性の追求場合は、我々はすべてのノードの可用性を保証するものではありません。すべてのノードの可用性を追求するならば、それは強い整合性を行うことはできません。

 

おすすめ

転載: blog.csdn.net/W_317/article/details/104449492