の原則と一致ハッシュアルゴリズム

の原則と一致ハッシュアルゴリズム

一貫性のあるハッシュアルゴリズムがmemcachedのクラスタ、memcachedのクラスタ主にハッシュし、ハッシュの整合性に使用されます。以下では、これら2つのアルゴリズムの原理を説明することでした。

ハッシュクラスタリングアルゴリズム。

memcachedのクラスタのアプローチは、各ノードの内容を記憶することであるので、クラスタがストアにいるサーバを選択して読み込むためにアルゴリズムを使用することであるのでときに、異なっています。これは、ハッシュアルゴリズムであるアルゴリズムはhaspmapアルゴリズムのような、比較的単純であり、残りは分散(数が置かれているサーバを決定するためのハッシュコード%サーバがあります)。このアルゴリズムの問題点:サーバーの数の変化は、データの大部分が失われます。サーバの数が変化するので、残りは変わりました。だから、へキャッシュリストラ、コストがかかりすぎるデータワードの大量。

一貫性のハッシュ

どのように解決するためにキャッシュの再構築を、ハッシュコードデータサーバが時計大員環に関連した仮想ノードが属します。ハッシュコードサーバとデータが大きなリングに配置されている。
フォーカス:サーバーノードとデータノード間の関係、それが何でありますか?サーバ・ノード・サーバーのハッシュコードデータに最も近いハッシュコードは、データノードです。だから、読み取りと書き込みのデータは、最も近いサーバーノードを見つけることです。キャッシュ全体を再構築することなく、物理サーバーの数に変更します。このリングは注文されているので、ポイントが削除された部分のみを調整せずに、このノード上の他のデータに影響を及ぼします。新しいノードを追加すると、データは新しいノードに最も近いデータポイントを時計回りセクションがあり、そのライン上の新しいノードへの移行に最も近いノード。

仮想ノードの追加

ただ、機械の原則に基づいてキャッシュすることができ、このようなデータの非対称性を解消するために、データを、対応する増加仮想ノードを傾けるをもたらすことができる環構造を形成するために、実際のノードを使用し、そのようなデータの再生が均一になります他のノードに散乱。

クライアントがデータを探しているこの時間は、仮想ノードではなく、実際の物理ノードのサーバーにアクセスします。

おすすめ

転載: www.cnblogs.com/wolf12/p/12308279.html