飼育係のクラスタ構造とZAB契約

  飼育係クラスタのセットアップは、その構成刻まれたテーブルzoo.cfgで、次の設定を追加し、3台の飼育係インストールされたサーバーを準備することは非常に簡単です

初期化を完了するために心拍数は最大同時接続(tickTimeの数)を許容することができるフォロワとクラスターリーダー間10 initLimit。環境データの量が多いクラスタをZK場合、データの同期時間が長くなり、このような場合は、適切なパラメータの大きな変化を調節することができる
心拍の数の応答時間のクラスターリーダーとフォロワーの間で要求syncLimit 2を許容する最大
= server.1ノード1:2881:3881
server.2 = NODE2:2881:3881
server.3 =ノード3:2881:3881
サービスIDは各DATADIR各ディレクトリにMYIDという名前のファイルを作成することにより、1,2,3-サーバは、サーバIDを与えるMYIDファイルをテキストマシンIDの一行のみが含まれ、IDは一意である必要があり、1〜255の間の値、
二つの第一のポート番号は、第二選挙のリーダーのリーダーを接続しているポート番号のフォロワーであります3つのサーバのIPに対応するポート番号、ノード1、ノード2、ノード3

  一度設定、それぞれ飼育係は、クラスタの最小限のバージョンが設定され、3台のマシン上で起動ログのリーダーとフォロワーに関連した情報を見ることができ、完了し、クラスタ内のすべてのノードは、サービス、クライアント接続、接続を提供することができます文字列が指定されてもよいし、クラスタに接続されたすべてのノードの複数のアドレスは、一つのノードに障害が発生した場合、クライアントは自動的に別のノードに切り替えます。

  すべての必然的なデータ整合性の問題上のクラスターに関連し、データの一貫性プロトコルZABプロトコル(原子メッセージ放送契約は)特別飼育係のために設計されています。すべてのデータの整合性を読むことを確保するために、任意のノードで、操作を書くことができ、クライアントにのみ実行するためのリードノードに転送することができます。飼育係のクラスタ書き込み手順は以下の通りです

  リーダーのサーバのクラッシュやネットワーク、よりフォロワーの半分以上が接続を失う原因となる、ZKクラスタは修復モードクラッシュになり、クラスタはこの時点では利用できません、それは飼育係クラスタCPサービスです。ZABは、事の提案(案)プロセスが正常にマシン上で、その後、すべてのマシンが正常に扱われるべきであるならば、それらのものは、最終的にすべてのサーバーが廃棄を確実にするためにのみ提出されるリーダー・サーバーで発表することを確実にするためにことが合意されましたリードサーバが提案を提示しました。

  ZABの要件を満たすために、とき飼育係のリーダー選挙は、選出されたリーダーのサーバはすべてのマシンのものを提案クラスタ最高ZXIDを持っていることを確認する必要があります。

  ZXID(トランザクション数)、上位32ビットを操作カウンタを追加し、64ビット数、単調増加カウンタの下位32ビットは、各リーダーの提案のものを生成している数リーダーエポック期間であるたびに新しいリーダー選挙、再びリーダーは、物事のこのサーバzxid最大の提案から削除され、かつエポックからの抽出物は、新しい時代のように、この番号の後、増加に基づいて、対応する値をzxid、ゼロからの下位32ビット数えます。その提案サーバはまだ指導者がクラスタに再加入提出していない期間内に何か提案が含まれているこのルールに基づいて物事を捨てるの問題を解決することができ、クラスタがリーダーを存在することが見出されている、フォロワーのアイデンティティは、この時のリーダーで、クラスタにサーバーを追加しました提案の比較最後に提出したと自身のサーバーをフォロワ取引の提案に基づいており、フォロワーは、リーダーが操作をフォロワーをバック行うように求められます、確かに半分のマシンよりも多くによって提出されたクラスタに落下する取引提案の期間内にリーダーを持って発見されます最新のビジネス提案

  飼育係リーダーでは次の2つの要件の遵守を確保するために選挙によって選出されたリーダー:最高zxidを持っていると、より多くのノードの半分以上が選出された指導者に同意を内蔵しておりアルゴリズム:リーダー選出FastLeaderElection AuthFastLeaderElectionを

  コンセプト選挙:サーバID、トランザクションID、ロジック・クロック(後援世論調査はテクノロジーを丸め)、見ている状態が選挙(総選挙)、リードする、(同期の選挙だけでなく、観察)観察し、以下の。

  アルゴリズムを投票具体的な手順:

  1、それぞれ独自のビットリード、上記の4つの情報に含まれている選挙情報選出するサーバーのポーリング
  2を、他のサーバは投票する招待を受けて、より多くのイニシエータzxidが自分よりも大きい場合、大きな票、同じ言葉サーバID、彼らよりも投票比較
  そうでない場合は、投票の次のラウンドが開始され、投票数クラスタの半分よりも大きいが、勝利は鉛よりも大きいと呼ばれるかどうかを確認するために、投票のイニシエータがフィードバックを受け取った3

  フォロワーの新しいリーダー、フォロワー同期の半分が完了すると、それがサービスを提供できると完全に同期した後、指導者に選出。次のように同期プロセスは次のとおりです。

  各フォロワーのためのリーダーサーバの後のレディキューを持っている、と提案メッセージとcomiitの形で各フォロワーに送信された各フォロワーのものと同期されていないものは、すべての提案に続き、フォロワーは地元でメッセージを受け取りますサービスを提供することができた後、半分以上のアプリケーション、およびリーダーの後にリーダーフォロワーが本当に可能なのリストに参加します同期、。

  

おすすめ

転載: www.cnblogs.com/hhhshct/p/11567044.html