飼育係分析--Paxosの魂として(RPM)

ZKクライアントを続行するには当初の計画を紹介した後ZKサーバーを導入しますが、コンテンツZK Serverが取得することはできませんブログ単に、あまりにも多くを含んでいました。財団からって良く決めました。

だから、ZK Serverがある最も基本的なものは何ですか?私はそれがパクシだったと思います。そこで、この記事では、パクシを導入して、対応するZK Serverでそれを実装します。

私はパクシをお話しましょう、それがベースのメッセージングは​​、レスリー・ランポートは、近年では、1990年に提案したコンセンサスアルゴリズムであり、広域分散コンピューティングで使用され、Googleのチャビー、Apacheの飼育係は、それが実現するという理論に基づいています、パクシも考えられ、これまでにのみ分散コンセンサスアルゴリズム、他のアルゴリズムが改善又はパクソスに簡略化されます。そこに言及する問題は、ありません前提があるパクシ:なしビザンチン将軍問題が。信頼できるコンピューティング環境におけるパクシを確立することができ、この環境は侵略によって破壊されることはありません。

パクシの詳細な説明はウィキで見つけることができます:http://zh.wikipedia.org/zh-cn/Paxosアルゴリズム。パクシ島、多くのオンライン記事の分析。ここでは、最も簡単な方法で説明することを望むとパクシとZK確立するサーバーとの間の対応を。

パクシは、このようなシナリオを説明し、住民のグループの上に生きるための1と呼ばれるパクシ島(アイランド)があり、すべてのもの上記の島は、いくつかの特別な人々によって決定され、彼らはメンバー(上院議員)と呼ばれます。総数メンバーが決定され、変更することができない(上院議員数)。すべての変更が提案(提案)を通じて環境問題を必要とし、各提案は番号(PID)を持っている島は、この数はこれまでにない後方、増加しています。各提案は半分以上((上院議員)は/ 2 +1カウント)メンバーを有効にするには同意が必要です。メンバーは現在の提案より大きいすべての数は、力ですでに含むと発効していないことに同意します。メンバーは現在の提案番号に等しい未満を受け取った場合、彼は拒否し、お互いを言うだろう:あなたの提案は、すでに前述されています。ここでは、各メンバーのメモ帳内の現在の数が数の上に記録された所有し、彼は常にこの番号を更新しています。議会は、すべての人がメモ帳の全体数は常に同じことを保証することはできません。すべてのメンバーの意見を提案するために合意できることを保証する:議会は現在、一つの目標を持っています。

まあ、今運用議会とすべてのメンバーは、このレコードの数が0を超えている覚えています。メンバーは、提案を行った:電気は1元/キロワット時に設定されています。1つの提案を、電気、1元/ kWhの設定:彼は最初のメモ帳を見て、ああ、現在の提案番号はその後、私の提案は、数1であるので、彼はすべてのメンバーにメッセージを与え、0です。私はあなたの提案の1号を受け入れ、彼はメモ帳に記録されている:調査メモ帳についてのニュースを受信した後、他のメンバーは、ああ、現在の提案番号は、この提案が受け入れ、0である、彼はこの提案と返信を記録しました:現在の提案番号1。メンバーはすぐに、返事の半分以上を開始した提案を受けたすべての人に通知を発行した:第1を有効にすることを提案しました!1元/ kWhの:メンバーは彼のメモ帳を修正受け、正式な提案は、誰かがどのくらいの電力彼は判決を見て、お互いを伝えるように彼に尋ねたときに、記録による法令の良い変更となります。

今、紛争解決を見て:電気を設定するための第一の提案:S1-S3、S1とS2が同時に提案を立ち上げた3人のメンバーの合計と仮定する。S1と$ 1 /度と同様に、S2は2元/度を望んでいます。S1に結果S3が提案を受けたので、彼は前と同じ操作をしました。彼が提案S2、彼のメモ帳の検索の結果を受け取った直後、ねえ、この提案の数よりも少ないか、私の現在の数1に等しいので、彼は断っ:すみません、この提案最初の前提を前に。提案はS2を拒否されたので、S1は提案をリリース:第1を有効にすることを提案しました。S2その後、彼は2番提案を開始することを選択することができる、S1またはS3に政令番号1の内容を照会し、更新します。

まあ、私はパクシそんなにコンテンツの本質を考えます。今ZKサーバーパクシ見内部ましょう非難は、インプリメンテーションを実行する方法です。

アイランド(島) - ZK Serverクラスタ

佳作(上院議員) - ZKサーバー

提议(案) - のznodeの変更(SetDataメソッド... /作成/削除)

案件番号(PID) - Zxid(ZooKeeperのトランザクションID)

公式判決 - すべてのデータのznode

一見重要な概念に一から一であってもよいが、数分待つことができ、氏のPaxos島はそれの平等であるべきであり、ZK Serverは、リーダーの概念を持っているようです。はい、実際には、概念のリーダーもパクシのカテゴリに属している必要があります。提案紛争によるメンバーの平等は、いくつかのケースでは、「ライブロック」を作成した場合(私の理解でライブロック、いわゆるを私たちは、死んでない移動をしているということですが、競合を解決していません)。メンバーは、自分の提案を持っている場合は、提案書を発行する権利をすべてのメンバーの社長の確立、唯一の社長、 - パクシ著者ランポートは、この問題で彼の記事「パートタイム議会」で説明し、解決策を提案します提案して社長を社長に送信する必要があります。社長:まあ、私たちはもう一つの役割を担っています。

社長--ZKサーバーリーダー

もう一つの問題は、社長が選出されたか、発生しますか?ああ、私の神はそれは長いです話、チームが選ばれた大統領を導入することでどのように上記のブログ淘宝網のコアシステム内の記事があると興味を持っている行くと見ることができます:!。http://rdc.taobao.com/blog/cs /?p = 162

今、私たちは社長が選択されていることを前提とし、ZKサーバーが実装されているかを見てみましょう。

ケース1:

問い合わせ(取得)(データののznode)品法の場合は、メンバーは、彼のメモ帳(ローカルストレージ)を取ることを躊躇レビューと法を教えてくれなかったメンバー(ZKサーバー)におなら(クライアント)彼の結果免責ながら:私のデータは最新のものである必要はありません。あなたは、最新のデータをしたいですか?いいえ問題、社長同期はあなたを伝えるものを見つけるために私を待って、待っていません。

ケース2:

おならB(クライアント)メンバー(ZKサーバー)にあっ返すために政府を必要とし、彼にお金の万元を負って、メンバーがオフィスで待つように彼に尋ねると、彼は社長のための問題を反映して、社長は、大多数のすべてのメンバーの見解を尋ねましたメンバーは社長が声明を発表したように、おならに負ってお金はまた、国庫債務から万元を思い付くしなければならないと述べ、財務省の総資産は1000099万人から変更します。おならBはバック(クライアント機能のリターンを)お金を得ます。

ケース3:

社長は、突然社長に連絡しないことが判明し、他のメンバーの後に、1を切ったので、彼らの声明は、政府が要求おならを拒否し、大統領選挙の際に閉鎖、新大統領を選出しました。

ああ、これまでのところ、もちろん他の多くの例があるが、これらの例は、常にPaxosアルゴリズムでプロトタイプを見つけるために、それらを解決することができます。これは、私たちがパクシ飼育係の魂の原因と思われるものです。当然のZKサーバー、自分の特性の多くのものがあります:セッション、ウォッチャー、バージョンなど、など、私たちは勉強し、学ぶために多くの時間を費やす必要があります。

転送http://www.spnguru.com/2010/08/zookeeper%E5%85%A8%E8%A7%A3%E6%9E%90%E2%80%94%E2%80%94paxos%E7%9A %84%E7%で81%のB5 %E9の%のADの%82 /

おすすめ

転載: www.cnblogs.com/powerjiajun/p/11279858.html